记录两道有趣的有关php数组的面试题
<?php $arr=[ ['张三','李四','王五'], ['吃鸡','消消乐','火影'], ['25','26','28'], ]; '如何转换为' $arr1=[ ['张三','吃鸡','25'], ['李四','消消乐','26'], ['王五','火影','28'] ];
//解答步骤:第一种方法-遍历数组 $data=array(); foreach ($arr as $key=>$value){ foreach ($value as $k=>$v){ $data[$k][$key]=$arr[$key][$k]; } } echo "<pre>";print_r($data);
//第二种方法:array_column()函数
$data=[array_column($arr,'0'),array_column($arr,'1'),array_column($arr,'2')];
?>
$data = [ ['age'=>23,'name'=>'张三','sex'=>'男'], ['age'=>26,'name'=>'李四','sex'=>'男'], ['age'=>20,'name'=>'王五','sex'=>'女'], ['age'=>29,'name'=>'赵六','sex'=>'男'], ]; 请按照年龄从小到大,性别先女后男排序将数组重新排序。 array_multisort(array_column($data, 'age'),SORT_ASC,$data); array_multisort(array_column($data, 'sex'),SORT_ASC,$data); echo "<pre/>";print_r($data);
数组函数,一定要多多温习,不然会很费心思。
滴水成冰,世间不存在毫无意义的付出,时间终会给你答案。