【php 数组排序】教程文章相关的互联网学习教程文章

求一段优雅高效的数组排序算法

原代码:$web =List::Model()->findAll(array("condition"=>"id = 8}","order"=>"id asc")); $webs='';foreach($web as $k=>$v){foreach($v as $ks=>$vs){$webs[$k][$ks]=$vs;} }Response::json($webs); 求一段优雅高效的数组排序算法。貌似最简单的是:$web =List::Model()->findAll(array("condition"=>"id = 8}","order"=>"id asc")); Response::json(json_decode(CJSON::encode($web),TRUE)); 不知道这么转换会不会有其它问题...

php_二维数组排序

请讲解一下这段排序的原理,特别是引用赋值那里是怎么回事,谢谢。 //按照name的长度排序,id从1开始; 0, 'name' => '12'),array('id' => 0, 'name' => 'ada'),array('id' => 0, 'name' => 'asdfsdf'),array('id' => 0, 'name' => '10sdf'),array('id' => 0, 'name' => 'aasdfbc'));foreach($arr as $key=>$value) {$long[$key] = strlen($value['name']); }array_multisort($long,SORT_ASC,$arr);$i = 1;foreach($arr as &$value...

PHP对二维数组排序

现在有一个二维数组$arr = array(array('date'=>'2011-04-21','wu'=>'test'),array('date'=>'2014-04-21','wu'=>'good'),array('date'=>'2011-12-22','wu'=>'great'),array('date'=>'2012-05-21','wu'=>'hahah'),array('date'=>'2013-08-13','wu'=>'test'),array('date'=>'2011-04-25','wu'=>'yes'),array('date'=>'2014-04-14','wu'=>'no'), ); 我想将它按照里面date日期来重新排序,得到这样的新数组:$arr2 = array(array('date...

多维数组排序

我有个数组 [["id"=>3],["id"=>1], ["id"=>2] ]现在要按照id的升序排列 [["id"=>1],["id"=>2], ["id"=>3] ]我该怎么做呢?最好借用内置函数。回复内容:我有个数组 [["id"=>3],["id"=>1], ["id"=>2] ]现在要按照id的升序排列 [["id"=>1],["id"=>2], ["id"=>3] ]我该怎么做呢?最好借用内置函数。http://php.com/manual/en/function.usort.php usort($arr, 'cmp'); function cmp($a, $b) {if ($a['id'] == $b['id']) {return 0;}ret...

array_multisort()二维数组排序中文值

二维数组排序,需要排序的字段是中文,怎么实现?我现在是把中文字段转化成了拼音,用拼音排序的,有没有更科技高效的办法。回复内容:二维数组排序,需要排序的字段是中文,怎么实现?我现在是把中文字段转化成了拼音,用拼音排序的,有没有更科技高效的办法。首先吧,要对array_multisort()理解,可看手册(sort_array, sorting type, $source_array) 排序数组,排序方式,排序的源数组其次,UTF-8 转成 GBK2312 才能实现以拼音顺...

PHP数组排序的问题

有两个数组如下: $aray1 = ('key3' => 'value3','key2' => 'value2','key1' => 'value1 );$aray2 = ('key1', 'key3', 'key2'); //看清楚了,顺序不是123哦请问php有没有内置的函数可以通过$array2将$array1排序成如下格式: $aray1 = ('key1' => 'value1','key3' => 'value3','key2' => 'value2 ); 我看了下array_multisort()的文档,但是好像不支持。回复内容:有两个数组如下: $aray1 = ('key3' => 'value3','key2' => 'value2...

数组排序-php将数组键值相同的数组合并数组为一个数组【图】

Array ([question_id] => Array ( [0] => 4 [1] => 4 [2] => 4 [3] => 4 [4] => 4 [5] => 4 [6] => 4 [7] => 4 ) [result_branch] => Array ( [0] => 126 [1] => 130[2] => 134 [3] => 1232 [4] => 128134 [5] => 16 [6] => 128134 [7] => 12136 [text] => Array ( [0] => 3213 [1] => qweq [2] => wdas [3] => d [4] => cxzc [5] => xzczx [6] => czx [7] => saed ) )输出: Array (array([question_id]=>4,[result_branch]=>126...

请教一个php多维数组排序问题

php新手请教一个问题;原数组结构如下,原数组是按ads_id,time进行排序;现在的需求是根据二维数组的num总和重新进行排序 Array ([5] => Array([0] => Array([num] => 840[time] => 2015-10[ads_id] => 5)[1] => Array([num] => 684[time] => 2015-11[ads_id] => 5))[6] => Array([0] => Array([num] => 23[time] => 2015-10[ads_id] => 6)[1] => Array([num] => 37[time] => 2015-11[ads_id] => 6))[7] => Array([0] => Array([n...

php对特殊语句查询结果进行数组排序

数据库查询结果有时候不能直接使用,比如MySQL等用in语句出来的结果,因此需要对结果进行某种方式的排序。例子 4. 对数据库结果进行排序 本例中 data 数组中的每个单元表示一个表中的一行。这是典型的数据库记录的数据集合。 例子中的数据如下: volume | edition-------+--------  67 |    2  86 |    1  85 |    6  98 |    2  86 |    6  67 |    7 数据全都存放在名为 data 的数组中。这通常...

数组排序的使用_PHP【图】

数组排序的使用 // 构造一个数组变量 $users = array("bob"=>"Yobert", "steve"=>"Btephen", "jon"=>"Aonathon"); for(reset($users); $index=key($users); next($users)) { print("$index : $users[$index] \n"); } print(""); // 使数组排序 asort($users);// 打印排序后的数组 for(reset($users); $index=key($users); next($users)) { print("$index : $users[$index] \n"); }?>

PHP多维数组排序实现代码_PHP

array_multisort (PHP 4, PHP 5) array_multisort -- 对多个数组或多维数组进行排序 说明 bool array_multisort ( array ar1 [, mixed arg [, mixed ... [, array ...]]] ) 如果成功则返回 TRUE,失败则返回 FALSE。 array_multisort() 可以用来一次对多个数组进行排序,或者根据某一维或多维对多维数组进行排序。 关联(string)键名保持不变,但数字键名会被重新索引。 输入数组被当成一个表的列并以行来排序――这类似于 SQL 的...

PHP简单数组排序实现代码_PHP

php 简单数组排序的方法,供大家学习参考。PHP不知道如何去比较两个数组,需要建立一个比较它们的方法。 一、数字索引数组的初始化 代码如下:$arr = array(100, 200, 300); 以上就代码就创建了一个数组,并且包含3个值。PHP数组的数字索引是从0开始的。所以$arr[0]的值为100。 可以用一个简单的 "="号把一个数组中的值复制到另一个数组中。 如果需要将按升序排列的数字保存到一个数组中,可以使用range()函数自动创建这个数组。 如...

phparray_maparray_multisort高效处理多维数组排序_PHP

对多维数组排序,通用的作法是1 获取利用排序的数据并且将其放入数组$arrSort. 其中键索引为要排序数组的索引,保证唯一性 2 利用排序函数sort等对$arrSort进行排序. 3 遍历$arrSort, 根据其索引,获取多维数组的数据,重新构造排序后的多维数组. 代码如下:Array ( [0] => Array ( [link] => test [name] => test.rpm [type] => file [size] => 988.9k [mtime] => 1185160178) .... ) I 很久以前在网上找到的一个排序函数,谈不上高效,...

php数组排序array_multisort与uasort的区别_PHP

Example:(简练) uasort($arr,create_function('$a, $b','return $a[\'line_num\']*************函数定义和语法************* array_multisort (PHP4 >= 4.0b4) array_multisort --- 排序复合或多样尺寸的数组 语法 : bool array_multisort (array ar1 [,mixed arg [,mixed ...[,array...]]]) 说明 : Array_multisort( )能用来立刻将数个数组或多样尺寸(multi-dimensional)数组排序。 输入的数组被看作是表格(table)的栏位,依照列(...

SortingArrayValuesinPHP(数组排序)_PHP

代码如下:$full_name = array(); $full_name["Roger"] = "Waters"; $full_name["Richard"] = "Wright"; $full_name["Nick"] = "Mason"; $full_name["David"] = "Gilmour"; To sort this array, you just use the assort( ) function. This involves nothing more complex than typing the word asort, followed by round brackets. In between the round brackets, type in the name of your Associative array: 代码如下:asort(...

数组排序 - 相关标签