PHP array_multisort()多维数组排序实例
题目如下: 请将二维数组按照name的长度进行重新排序,按照顺序将id赋值(从1开始)。
1 $Tarray = array(
2 array('id' => 0, 'name' => '123'),
3 array('id' => 0, 'name' => '1234'),
4 array('id' => 0, 'name' => '123abc'),
5 array('id' => 0, 'name' => '12345'),
6 array('id' => 0, 'name' => '123456')
7 );
8
多维数组毫无疑问排序需要使用array_multisort()
,其实我还不怎么会用,所以权当mark而已,具体见扩展阅读:
http://www.php.net/manual/zh/function.array-multisort.php
http://www.w3school.com.cn/php/func_array_multisort.asp
这里是实例(题目)我写的答案:
1 $Tarray = array(
2 array('id' => 0, 'name' => '123'),
3 array('id' => 0, 'name' => '1234'),
4 array('id' => 0, 'name' => '123abc'),
5 array('id' => 0, 'name' => '12345'),
6 array('id' => 0, 'name' => '123456')
7 );
8
9 foreach($Tarray as $key => $value) {
10 $name[$key] = $value['name']; // 用name生成name数组
11 }
12
13 array_multisort($name, $Tarray); //通过$name数组来排列
14
15 for($i = 0; $i < 5; $i++) {
16 $Tarray[$i]['id'] = ($i + 1); //排列完的$Tarray开始给id依次赋值
17 }
18 print_r($Tarray);
19
评论 (0)