Inheritance: extends Infusionsoft_DataService
 public static function getAllValuesFor($field_name)
 {
     $field_name = trim($field_name, '_');
     $fields = Infusionsoft_ObjectTools::findObjectsInList(Infusionsoft_CustomFieldService::getCachedCustomFields(new Infusionsoft_Contact()), array('Name' => $field_name));
     $field = array_shift($fields);
     $values = array();
     if (is_object($field)) {
         $values = $field->getValues();
     }
     $keyed_array = array();
     foreach ($values as $value) {
         $keyed_array[$value] = $value;
     }
     return $keyed_array;
 }
<?php

include '../infusionsoft.php';
include 'testUtils.php';
Infusionsoft_CacheTools::clearObjectCaches(new Infusionsoft_DataFormField());
$timestart = microtime(true);
$out = Infusionsoft_CustomFieldService::getCachedCustomFields(new Infusionsoft_Contact());
$elapsed_time_first = microtime(true) - $timestart;
$timestart = microtime(true);
$out = Infusionsoft_CustomFieldService::getCachedCustomFields(new Infusionsoft_Contact());
$elapsed_time_second = microtime(true) - $timestart;
if ($elapsed_time_second < $elapsed_time_first) {
    echo 'Success, caching saved: ' . ($elapsed_time_first - $elapsed_time_second) . ' seconds';
} else {
    echo 'Failed, caching made it: ' . ($elapsed_time_second - $elapsed_time_first) . 'seconds longer';
}
<?php

include '../infusionsoft.php';
include 'object_editor_all_tables.php';
include '../tests/testUtils.php';
$customFields = Infusionsoft_CustomFieldService::getCustomFields(new Infusionsoft_Contact(), Infusionsoft_CustomFieldService::$DataType_Dropdown);
var_dump($customFields);
foreach ($customFields as $customField) {
    if ($customField->Name == 'Test') {
        $customFieldValues = $customField->getCustomFieldValues();
        $customFieldValues[] = rand(1, 100) . ' Value';
        $customField->setCustomFieldValues($customFieldValues);
        //$customField->save();
    }
}
$customField = Infusionsoft_CustomFieldService::getCustomField(new Infusionsoft_Contact(), 'Test');
var_dump($customField);
<?php

include '../infusionsoft.php';
$contact = new Infusionsoft_Contact();
$customFields = Infusionsoft_CustomFieldService::getCustomFields(new Infusionsoft_Contact());
/** @var Infusionsoft_DataFormField $customField */
$customFieldsAsArray = array();
foreach ($customFields as $customField) {
    $customFieldsAsArray[] = '_' . $customField->Name;
}
$contact->addCustomFields($customFieldsAsArray);
$contacts = Infusionsoft_DataService::queryWithOrderBy(new Infusionsoft_Contact(), array('Id' => '%'), 'LastUpdated', 1, 1, array('Id'));
var_dump($contacts);