PHP array_multisort()多维数组排序实例

题目如下:
请将二维数组按照name的长度进行重新排序,按照顺序将id赋值(从1开始)。

    $Tarray = array(
        array('id' => 0, 'name' => '123'),
        array('id' => 0, 'name' => '1234'),
        array('id' => 0, 'name' => '123abc'),
        array('id' => 0, 'name' => '12345'),
        array('id' => 0, 'name' => '123456')
        );

多维数组毫无疑问排序需要使用array_multisort(),其实我还不怎么会用,所以权当mark而已,具体见扩展阅读:
http://www.php.net/manual/zh/function.array-multisort.php
http://www.w3school.com.cn/php/func_array_multisort.asp

这里是实例(题目)我写的答案:

    $Tarray = array(
        array('id' => 0, 'name' => '123'),
        array('id' => 0, 'name' => '1234'),
        array('id' => 0, 'name' => '123abc'),
        array('id' => 0, 'name' => '12345'),
        array('id' => 0, 'name' => '123456')
        );

    foreach($Tarray as $key => $value) {
        $name[$key] = $value['name'];    // 用name生成name数组
    }

    array_multisort($name, $Tarray);    //通过$name数组来排列
    
    for($i = 0; $i < 5; $i++) {
        $Tarray[$i]['id'] = ($i + 1);  //排列完的$Tarray开始给id依次赋值
    }
    print_r($Tarray);

植入部分

如果您觉得文章不错,可以通过赞助支持我。

如果您不希望打赏,也可以通过关闭广告屏蔽插件的形式帮助网站运作。

标签: 源码, 知识, 题目

添加新评论