$field_list = PhabricatorCustomField::getObjectFields(
$task,
PhabricatorCustomField::ROLE_DEFAULT);
$field_list->setViewer($user);
$field_list->readFieldsFromStorage($task);
foreach ($field_list->getFields() as $field) {
$key = $field->getFieldKey();
$value = $field->getValueForStorage();
// Do something with $key and $value.
}