Heim  >  Artikel  >  Backend-Entwicklung  >  Implementierungsmethode zum Sortieren bestimmter Schlüsselnamen in einem zweidimensionalen PHP-Array

Implementierungsmethode zum Sortieren bestimmter Schlüsselnamen in einem zweidimensionalen PHP-Array

黄舟
黄舟Original
2018-05-15 10:36:402135Durchsuche

In diesem Artikel wird hauptsächlich die Methode zum Sortieren zweidimensionaler Arrays nach angegebenen Schlüsselnamen in PHP vorgestellt. Hier wird das Array zum Aufzeichnen des Altersfeldwerts der Informationen von drei Personen als Beispiel für den Vorgang des Sortierens zweidimensionaler Arrays verwendet PHP wird analysiert. Freunde, die sie benötigen, können sich auf

beziehen. Dieser Artikel beschreibt das Beispiel der PHP-Methode zum Sortieren zweidimensionaler Arrays nach angegebenen Schlüsselnamen. Teilen Sie es als Referenz mit allen. Die Details lauten wie folgt:

<?php
/*二维数组按指定的键值排序*/
function array_sort($array,$keys,$type=&#39;asc&#39;){
  if(!isset($array) || !is_array($array) || empty($array)){
    return &#39;&#39;;
  }
  //排序字段名,如:id
  if(!isset($keys) || trim($keys)==&#39;&#39;){
    return &#39;&#39;;
  }
  //排序方式,如:desc、asc
  if(!isset($type) || $type==&#39;&#39; || !in_array(strtolower($type),array(&#39;asc&#39;,&#39;desc&#39;))){
    return &#39;&#39;;
  }
  //定义一个数组
  $keysvalue=array();
  foreach($array as $key=>$val){
    //对排序字段值进行过滤
    $val[$keys] = str_replace(&#39;-&#39;,&#39;&#39;,$val[$keys]);
    $val[$keys] = str_replace(&#39; &#39;,&#39;&#39;,$val[$keys]);
    $val[$keys] = str_replace(&#39;:&#39;,&#39;&#39;,$val[$keys]);
    //将记录中指定的键名放入数组中,如:[0]=>5,[1]=>3,[2]=>6
    $keysvalue[] =$val[$keys];//排序字段,如:id     索引=》排序键名
  }
  asort($keysvalue); //按值升序排序,且保持键名与键值之间的索引关系,如:[1]=>3,[0]=>5,[2]=>6
  reset($keysvalue); //指针重新指向数组第一个
  foreach($keysvalue as $key=>$vals) {
    $keysort[] = $key;//0=>[1],1=>[0],2=>[2]
  }
  $keysvalue = array();
  $count=count($keysort);//排序记录数
  if(strtolower($type) != &#39;asc&#39;){//降序
    for($i=$count-1; $i>=0; $i--) {
      $keysvalue[] = $array[$keysort[$i]];
    }
  }else{//升序
    for($i=0; $i<$count; $i++){
      $keysvalue[] = $array[$keysort[$i]];
    }
  }
  return $keysvalue;
}
$array=array(
  array(&#39;name&#39;=>&#39;Tom&#39;,&#39;age&#39;=>&#39;23&#39;,&#39;like&#39;=>&#39;beer&#39;),
  array(&#39;name&#39;=>&#39;Trump&#39;,&#39;age&#39;=>&#39;50&#39;,&#39;like&#39;=>&#39;Food&#39;),
  array(&#39;name&#39;=>&#39;Jack&#39;,&#39;age&#39;=>&#39;26&#39;,&#39;like&#39;=>&#39;Travel&#39;)
);
print_r(array_sort($array,&#39;age&#39;));
?>

Laufergebnisse:

Array
(
  [0] => Array
    (
      [name] => Tom
      [age] => 23
      [like] => beer
    )
  [1] => Array
    (
      [name] => Jack
      [age] => 26
      [like] => Travel
    )
  [2] => Array
    (
      [name] => Trump
      [age] => 50
      [like] => Food
    )
)

Das obige ist der detaillierte Inhalt vonImplementierungsmethode zum Sortieren bestimmter Schlüsselnamen in einem zweidimensionalen PHP-Array. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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