note 115283 added to function.array-column

From: Date: Fri, 27 Jun 2014 10:17:52 +0000
Subject: note 115283 added to function.array-column
Groups: php.notes 
Request: Send a blank email to php-notes+get-199774@lists.php.net to get a copy of this message
Use the following function if you are using PHP 5.4 or lower. It is a complete simulation of array_column() in PHP 5.5 created by me. <?php if(!function_exists('array_columns')){ /* * array_column() for PHP 5.4 and lower versions */ function array_columns($input,$column_key,$index_key=''){ if(!is_array($input)) return; $results=array(); if($column_key===null){ if(!is_string($index_key)&&!is_int($index_key)) return false; foreach($input as $_v){ if(array_key_exists($index_key,$_v)){ $results[$_v[$index_key]]=$_v; } } if(empty($results)) $results=$input; }else if(!is_string($column_key)&&!is_int($column_key)){ return false; }else{ if(!is_string($index_key)&&!is_int($index_key)) return false; if($index_key===''){ foreach($input as $_v){ if(is_array($_v)&&array_key_exists($column_key,$_v)){ $results[]=$_v[$column_key]; } } }else{ foreach($input as $_v){ if(is_array($_v)&&array_key_exists($column_key,$_v)&&array_key_exists($index_key,$_v)){ $results[$_v[$index_key]]=$_v[$column_key]; } } } } return $results; } } $testArray=array( array(0=>'Girl','name'=>'Judy'), array(0=>'Boy','name'=>'Jerry') ); echo '<pre>'; print_r(array_columns($testArray,'name')); print_r(array_columns($testArray,0,'name')); ?> ---- Server IP: 72.52.91.14 Probable Submitter: 65.49.68.158 ---- Manual Page -- http://php.net/manual/en/function.array-column.php Edit -- https://master.php.net/note/edit/115283 Del: integrated -- https://master.php.net/note/delete/115283/integrated Del: useless -- https://master.php.net/note/delete/115283/useless Del: bad code -- https://master.php.net/note/delete/115283/bad+code Del: spam -- https://master.php.net/note/delete/115283/spam Del: non-english -- https://master.php.net/note/delete/115283/non-english Del: in docs -- https://master.php.net/note/delete/115283/in+docs Del: other reasons-- https://master.php.net/note/delete/115283 Reject -- https://master.php.net/note/reject/115283 Search -- https://master.php.net/manage/user-notes.php

« previous php.notes (#199774) next »