Heim  >  Artikel  >  Backend-Entwicklung  >  PHP benutzerdefiniertes zweidimensionales Array-Sortierfunktionsarray

PHP benutzerdefiniertes zweidimensionales Array-Sortierfunktionsarray

php中世界最好的语言
php中世界最好的语言Original
2018-03-24 13:52:562006Durchsuche

Dieses Mal präsentiere ich Ihnen die PHP-benutzerdefinierte zweidimensionale Array-Sortierung-Funktionsarray. Was sind die Vorsichtsmaßnahmen für die PHP-benutzerdefinierte zweidimensionale Array-Sortierfunktion? .

Dieser Artikel stellt hauptsächlich die Verwendung der benutzerdefinierten zweidimensionalen Array-Sortierung-Funktion von PHP array_orderby vor und analysiert die damit verbundene Durchquerung, Bestimmung, Sortierung und andere Operationen von PHP zum Sortieren zweidimensionaler Arrays im Tipps in Form von Beispielen finden Freunde in Not unter

Dieser Artikel beschreibt die Verwendung der benutzerdefinierten zweidimensionalen Array-Sortierfunktion array_orderby von PHP. Teilen Sie es als Referenz mit allen. Die Details lauten wie folgt:

<?php
/**
I came up with an easy way to sort database-style results. This does what example 3 does, except it takes care of creating those intermediate arrays for you before passing control on to array_multisort(). 
*/
function array_orderby()
{
  $args = func_get_args();
  $data = array_shift($args);
  foreach ($args as $n => $field) {
    if (is_string($field)) {
      $tmp = array();
      foreach ($data as $key => $row)
        $tmp[$key] = $row[$field];
      $args[$n] = $tmp;
      }
  }
  $args[] = &$data;
  call_user_func_array('array_multisort', $args);
  return array_pop($args);
}
/*
The sorted array is now in the return value of the function instead of being passed by reference.
*/
$data[] = array('volume' => 67, 'edition' => 2);
$data[] = array('volume' => 86, 'edition' => 1);
$data[] = array('volume' => 85, 'edition' => 6);
$data[] = array('volume' => 98, 'edition' => 2);
$data[] = array('volume' => 86, 'edition' => 6);
$data[] = array('volume' => 67, 'edition' => 7);
// Pass the array, followed by the column names and sort flags
$sorted = array_orderby($data, 'volume', SORT_DESC, 'edition', SORT_ASC);
print_r($sorted)
?>

Laufergebnisse:

Array
(
  [0] => Array
    (
      [volume] => 98
      [edition] => 2
    )
  [1] => Array
    (
      [volume] => 86
      [edition] => 1
    )
  [2] => Array
    (
      [volume] => 86
      [edition] => 6
    )
  [3] => Array
    (
      [volume] => 85
      [edition] => 6
    )
  [4] => Array
    (
      [volume] => 67
      [edition] => 2
    )
  [5] => Array
    (
      [volume] => 67
      [edition] => 7
    )
)

Ich glaube dir Ich habe den Fall in diesem Artikel gelesen. Nachdem Sie die Methode beherrscht haben, achten Sie bitte auf andere verwandte Artikel auf der chinesischen PHP-Website, um weitere spannende Inhalte zu erhalten!

Empfohlene Lektüre:

So verwenden Sie den PHP-Generator

Zugriff auf Verzeichnisdienstberechtigungen von phpstudy2018

Tutorial zur ThinkPHP-Implementierung des WeChat-Zahlungsprozesses (jsapi payment) mit ausführlicher Erklärung_php-Beispiel

Das obige ist der detaillierte Inhalt vonPHP benutzerdefiniertes zweidimensionales Array-Sortierfunktionsarray. 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