Heim  >  Artikel  >  Backend-Entwicklung  >  PHP implementiert die rekursive Sortierung von Arrays

PHP implementiert die rekursive Sortierung von Arrays

php中世界最好的语言
php中世界最好的语言Original
2018-03-24 14:00:391924Durchsuche

Dieses Mal werde ich Ihnen PHP zum Implementieren der rekursiven Array-Sortierung vorstellen. Was sind die Vorsichtsmaßnahmen für PHP, um die rekursive Array-Sortierung zu implementieren?

Das Beispiel in diesem Artikel beschreibt die Implementierungsmethode der rekursiven Sortierung von PHP-Arrays. Teilen Sie es als Referenz mit allen. Die Details lauten wie folgt:

/**
 * 递归根据特定key对数组排序
 * @param $data
 * @param string $orderKey
 * @param string $sonKey
 * @param int $orderBy
 * @return mixed
 */
function recursion_orderby($data, $orderKey = 'order', $sonKey = 'children', $orderBy = SORT_ASC)
{
  $func = function ($value) use ($sonKey, $orderKey, $orderBy) {
    if (isset($value[$sonKey]) && is_array($value[$sonKey])) {
      $value[$sonKey] = recursion_orderby($value[$sonKey], $orderKey, $sonKey, $orderBy);
    }
    return $value;
  };
  return array_orderby(array_map($func, $data), $orderKey, $orderBy);
}
$a = [
  [
    'order' => 0,
  ],
  [
    'order' => -1,
    'children' => [
      [
        'order' => 0,
      ],
      [
        'order' => -2,
        'children' => [
          ['order' => 0],
          ['order' => -1],
          ['order' => 1],
        ],
      ],
    ],
  ],
  [
    'order' => 2,
  ],
];
var_dump(recursion_orderby($a));
/**
 * 输出:
array(3) {
 [0] =>
 array(2) {
  'order' =>
  int(-1)
  'children' =>
  array(2) {
   [0] =>
   array(2) {
    'order' =>
    int(-2)
    'children' =>
    array(3) {
     [0] =>
     array(1) {
      'order' =>
      int(-1)
     }
     [1] =>
     array(1) {
      'order' =>
      int(0)
     }
     [2] =>
     array(1) {
      'order' =>
      int(1)
     }
    }
   }
   [1] =>
   array(1) {
    'order' =>
    int(0)
   }
  }
 }
 [1] =>
 array(1) {
  'order' =>
  int(0)
 }
 [2] =>
 array(1) {
  'order' =>
  int(2)
 }
}
*/

Ich glaube, dass Sie die Methode beherrschen, nachdem Sie den Fall in diesem Artikel gelesen haben, bitte Achten Sie auf andere verwandte Artikel auf der chinesischen PHP-Website!

Empfohlene Lektüre:

Detaillierte Erläuterung der Verwendung von PHP-Rückruffunktionen und anonymen Funktionen

ThinkPHP implementiert WeChat-Zahlung ( jsapi-Zahlungsprozess Detailliertes Tutorial_php-Beispiel

PHP implementiert WeChat-Zahlung und -Rückerstattung

Das obige ist der detaillierte Inhalt vonPHP implementiert die rekursive Sortierung von Arrays. 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