CodeSky 代码之空

随手记录自己的学习过程

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

2014-01-25 19:57分类: PHP评论: 0

题目如下: 请将二维数组按照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)