php基础篇-二维数组排序姐妹篇

WBOY
Freigeben: 2016-06-23 13:51:36
Original
864 Leute haben es durchsucht

前面介绍了php多维数组排序的一个函数array_multisort() ,想了解的人可以点击二维数组排序 array_multisort


下面介绍下不适用array_multisort()进行多维数组的排序。

这里介绍下2个php排序函数,一个是asort,一个是arsort.

asort(array,sorttype) 函数对数组进行排序并保持索引关系。主要用于对那些单元顺序很重要的结合数组进行排序。

可选的第二个参数包含了附加的排序标识。

  • SORT_REGULAR - 默认。以它们原来的类型进行处理(不改变类型)。
  • SORT_NUMERIC - 把值作为数字来处理
  • SORT_STRING - 把值作为字符串来处理
  • SORT_LOCALE_STRING - 把值作为字符串来处理,基于本地设置。
  • 如果成功则返回 TRUE,否则返回 FALSE。


    arsort(array,sorttype) 函数对数组进行逆向排序并保持索引关系。主要用于对那些单元顺序很重要的结合数组进行排序。这个函数的用法和asort一样,只不过这个是对数组的索引进行逆向排序。


    下面给出二维数组的排序算法:

    <?php 
    Nach dem Login kopieren
    <span style="white-space:pre">	</span>function array_sort($arr,$key,$type='asc'){ <span style="white-space:pre">		</span>$keyvalues = $new_array = array();<span style="white-space:pre">		</span>foreach ($arr as $k=>$v){<span style="white-space:pre">			</span>$keyvalues[$k] = $v[$key];<span style="white-space:pre">		</span>}<span style="white-space:pre">		</span>if($type == 'asc'){<span style="white-space:pre">			</span>asort($keyvalues);<span style="white-space:pre">		</span>}else{<span style="white-space:pre">			</span>arsort($keyvalues);<span style="white-space:pre">		</span>}<span style="white-space:pre">		</span>foreach ($keyvalues as $k=>$v){<span style="white-space:pre">			</span>$temparray[$k] = $arr[$k];<span style="white-space:pre">		</span>}<span style="white-space:pre">		</span>return $temparray; <span style="white-space:pre">	</span>}<span style="white-space:pre">	</span>$student = array(<span style="white-space:pre">		</span>array('name'=>'张三','age'=>'18','weight'=>100,'height'=>180),<span style="white-space:pre">		</span>array('name'=>'李四','age'=>'20','weight'=>200,'height'=>150),<span style="white-space:pre">		</span>array('name'=>'王五','age'=>'30','weight'=>150,'height'=>165),<span style="white-space:pre">		</span>array('name'=>'赵六','age'=>'50','weight'=>90,'height'=>173),<span style="white-space:pre">		</span>array('name'=>'孙七','age'=>'35','weight'=>160,'height'=>170)<span style="white-space:pre">	</span>);<span style="white-space:pre">	</span>$studentlist = array_sort($student,'weight');<span style="white-space:pre">	</span>var_dump($studentlist);?>
    Nach dem Login kopieren


    通过asort这个函数,将保留二维数组的索引排序,再通过这个索引,即可得到排序好的二维数组的索引对应的值。
    Verwandte Etiketten:
    Quelle:php.cn
    Erklärung dieser Website
    Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
    Beliebte Tutorials
    Mehr>
    Neueste Downloads
    Mehr>
    Web-Effekte
    Quellcode der Website
    Website-Materialien
    Frontend-Vorlage