Array column #php function added after release version of (PHP 5 >= 5.5.0, PHP 7), If error occurred please check the version of php by calling #php builtin function phpversion(); this function will works if you have php version greater than 5, If array_column function works on localhost and not defined on live hosting server so you ask them server’s team to upgrade the version #php.
If you are running shared hosting server or server team won’t allow you to upgrade the version of #php so I wrote a custom array_column function that will works, support array and object type data, so put the function code in your core project file and enjoy.
PHP array_column alternate function Array Column
if(!function_exists('array_column')){ function array_column($array,$colname,$Indexkey=''){ $return_array = array(); if(is_array($array) || is_object($array)){ foreach($array as $arrayDATA){ if(is_object($arrayDATA)){ if(isset($arrayDATA->{$colname})){ if(isset($Indexkey) && isset($arrayDATA->{$Indexkey}) ){ $return_array[$arrayDATA->{$Indexkey}] = $arrayDATA->{$colname}; } else { $return_array[] = $arrayDATA->{$colname}; } } } else if(is_array($arrayDATA)) { if(isset($arrayDATA[$colname])){ if(isset($Indexkey) && isset($arrayDATA[$Indexkey]) ){ $return_array[$arrayDATA[$Indexkey]] = $arrayDATA[$colname]; } else { $return_array[] = $arrayDATA[$colname]; } } } } } return $return_array; } }
Here is custom Array Column function used
Check the result of function with array parameter and object parameter.
$array_coldata = array( 0=> array('first_name'=>'Rameez','type'=>'person'), 1=> array('first_name'=>'Soomro','type'=>'caste') , 2=> array('first_name'=>'SDTuts','type'=>'site name'), 3=> array('first_name'=>'SDTuts.com','type'=>'domainname') ); echo ' <pre>'; print_r(array_column($array_coldata,'first_name')); echo '</pre> ';
Array(
[0] => Rameez
[1] => Soomro
[2] => SDTuts
[3] => SDTuts.com
)
$OBJ_coldata = json_decode(json_encode($array_coldata)); echo ' <pre>'; print_r(array_column($OBJ_coldata,'first_name')); echo '</pre> ';
Array(
[0] => Rameez
[1] => Soomro
[2] => SDTuts
[3] => SDTuts.com
)
Here is the example of call array_column with index
The third parameter $indexkey is used to set value of passed indexkey in return array data.
print_r(array_column($array_coldata,'first_name','type'));
Result
Array
(
[person] => Rameez
[caste] => Soomro
[site name] => SDTuts
[domainname] => SDTuts.com
)
Here is another usage example copied from php array_column documentation page
class User { public $username; public function __construct($username) { $this->username = $username; } } $users = [ new User('user 1'), new User('user 2'), new User('user 3'), ]; print_r(array_column($users, 'username'));
Result users name from class
Array
(
[0] => user 1
[1] => user 2
[2] => user 3
)