If you do not use foreach to traverse an array of {code...} such as code...}, how can we achieve the following results? {code...} tried array_map and failed.
$ Array = array (0 => array ('univs _ id' => 1001, 'univs _ name' => 'tsinghua Emy ', 'province _ id' => 110000, 'province '=> 'beijing',), 1 => array ('univs _ id' => 1002, 'univs _ name' => 'peking University ', 'province _ id' => 110000, 'province '=> 'beijing',), 2 => array ('univs _ id' => 1003, 'univs _ name' => 'renmin University of China ', 'province _ id' => 110000, 'province' => 'beijing ',),);
If you do not use foreach to traverse such an array, how can we achieve the following results?
$ Array = array (1001 => array ('univs _ id' => 1001, 'univs _ name' => 'tsinghua Emy ', 'province _ id' => 110000, 'province '=> 'beijing',), 1002 => array ('univs _ id' => 1002, 'univs _ name' => 'peking University ', 'province _ id' => 110000, 'province '=> 'beijing',), 1003 => array ('univs _ id' => 1003, 'univs _ name' => 'renmin University of China ', 'province _ id' => 110000, 'province' => 'beijing ',),);
Failed to try array_map.
Reply content:
$ Array = array (0 => array ('univs _ id' => 1001, 'univs _ name' => 'tsinghua Emy ', 'province _ id' => 110000, 'province '=> 'beijing',), 1 => array ('univs _ id' => 1002, 'univs _ name' => 'peking University ', 'province _ id' => 110000, 'province '=> 'beijing',), 2 => array ('univs _ id' => 1003, 'univs _ name' => 'renmin University of China ', 'province _ id' => 110000, 'province' => 'beijing ',),);
If you do not use foreach to traverse such an array, how can we achieve the following results?
$ Array = array (1001 => array ('univs _ id' => 1001, 'univs _ name' => 'tsinghua Emy ', 'province _ id' => 110000, 'province '=> 'beijing',), 1002 => array ('univs _ id' => 1002, 'univs _ name' => 'peking University ', 'province _ id' => 110000, 'province '=> 'beijing',), 1003 => array ('univs _ id' => 1003, 'univs _ name' => 'renmin University of China ', 'province _ id' => 110000, 'province' => 'beijing ',),);
Failed to try array_map.
$ Array = [Your array] $ newArray = array_reduce ($ array, function (& $ newArray, $ v) {$ newArray [$ v ['univs _ id'] = $ v; return $ newArray ;});
$ NewArray is the array you want
$ New_array = array_combine (array_column ($ array, 'univs _ id'), $ array );
Array_column can be used at php5.5 or above.
Earlier array_column implementations
if(!function_exists('array_column')){ function array_column($array,$key){ return array_map( function($element,$key){return $element[$key];}, $array, array_fill(0,count($array),$key) ); }}
The key name of the array cannot be changed directly in php. You need to add a new item and delete the old item.
$arr[$newkey] = $arr[$oldkey];unset($arr[$oldkey]);