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);
植入部分
如果您觉得文章不错,可以通过赞助支持我。
如果您不希望打赏,也可以通过关闭广告屏蔽插件的形式帮助网站运作。