JBZoo\Utils\Arr::getField PHP Method

getField() public static method

Get one field from array of arrays (array of objects)
public static getField ( array $arrayList, string $fieldName = 'id' ) : array
$arrayList array
$fieldName string
return array
    public static function getField($arrayList, $fieldName = 'id')
    {
        $result = array();
        if (!empty($arrayList) && is_array($arrayList)) {
            foreach ($arrayList as $option) {
                if (is_array($option)) {
                    $result[] = $option[$fieldName];
                } elseif (is_object($option)) {
                    if (isset($option->{$fieldName})) {
                        $result[] = $option->{$fieldName};
                    }
                }
            }
        }
        return $result;
    }

Usage Example

Example #1
0
 public function testGetField()
 {
     $array = array(array('name' => 'Bob', 'age' => 37), array('name' => 'Fred', 'age' => 37), array('name' => 'Jane', 'age' => 29), array('name' => 'Brandon', 'age' => 20), array('age' => 41));
     isSame(array(37, 37, 29, 20, 41), Arr::getField($array, 'age'));
     $array = array((object) array('name' => 'Bob', 'age' => 37), (object) array('name' => 'Fred', 'age' => 37), (object) array('name' => 'Jane', 'age' => 29), (object) array('name' => 'Brandon', 'age' => 20), (object) array('age' => 41));
     isSame(array('Bob', 'Fred', 'Jane', 'Brandon'), Arr::getField($array, 'name'));
 }