记录两道有趣的有关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);

数组函数,一定要多多温习,不然会很费心思。

posted @ 2019-03-13 21:47  知风阁  阅读(221)  评论(0编辑  收藏  举报