Heim >Backend-Entwicklung >PHP-Problem >Können PHP-Arrays sortiert werden?

Können PHP-Arrays sortiert werden?

青灯夜游
青灯夜游Original
2022-05-07 16:59:242149Durchsuche

PHP-Arrays können sortiert werden. PHP verfügt über eine Vielzahl von Array-Sortierfunktionen: 1. sort(), das in aufsteigender Reihenfolge sortiert werden kann, mit der Syntax „sort(array)“ 2. rsort(), das in absteigender Reihenfolge sortiert werden kann, mit der Syntax „rsort(array)“; 3. shuffle( ), kann zufällig sortiert werden, die Syntax ist „shuffle(array)“.

Können PHP-Arrays sortiert werden?

Die Betriebsumgebung dieses Tutorials: Windows 7-System, PHP-Version 7.1, DELL G3-Computer

PHP-Arrays können sortiert werden.

php bietet eine Vielzahl integrierter Funktionen für unterschiedliche Array-Sortieranforderungen (Schlüsselwert, Schlüsselname, aufsteigende Reihenfolge, absteigende Reihenfolge usw.).

1. Sortieren Sie das Array in aufsteigender Reihenfolge.

Es gibt drei häufig verwendete aufsteigende Sortierfunktionen für Arrays:

  • sort(): Sortieren Sie die Array-Elemente in aufsteigender Reihenfolge. : Sortieren Sie das Array entsprechend dem Schlüsselwert des Arrays in aufsteigender Reihenfolge.

  • ksort(): Sortieren Sie das Array in aufsteigender Reihenfolge nach dem Schlüsselnamen des zugehörigen Arrays sort()-Funktion

  • sort()-Funktion zum Sortieren des Arrays in aufsteigender Reihenfolge Array-Elemente werden in aufsteigender Reihenfolge sortiert (klein nach groß, niedrig nach hoch).

    <?php
    header("Content-type:text/html;charset=utf-8");
    $arr1 = array(10, 23, 5, 12, 84, 16);
    sort($arr1);
    var_dump($arr1);
    
    $arr2= array("香蕉","苹果","梨子","橙子","橘子","榴莲");
    sort($arr2);
    var_dump($arr2);
    ?>

    Ausgabe:

sort()-Funktion hat zwei Parameter: $array (erforderlich) und $sortingtype (kann weggelassen werden).


Unter anderem wird der Parameter $sortingtype verwendet, um den Sortiermodus der Funktion zu definieren und anzugeben, wie die Elemente/Elemente des Arrays verglichen werden sollen. Der Standardwert ist „SORT_REGULAR“. Der Parameter

$sortingtype kann auf die folgenden Werte gesetzt werden: Können PHP-Arrays sortiert werden?

0 = SORT_REGULAR: Array-Elemente normal vergleichen, ohne ihren Typ zu ändern (Standardwert);

1 = SORT_NUMERIC: Array-Elemente als Zahlen behandeln ;

  • 2 = SORT_STRING: Array-Elemente als Strings behandeln;

  • 3 = SORT_LOCALE_STRING: Array-Elemente basierend auf dem aktuellen Gebietsschema (kann durch setlocale() geändert werden) als Strings vergleichen.

  • 4 = SORT_NATURAL: Ähnlich wie natsort() sortiert es Strings in „natürlicher Reihenfolge“ für jedes Array-Element. Es ist neu in PHP5.4.0.

  • 5 = SORT_FLAG_CASE: Kann mit SORT_STRING oder SORT_NATURAL (OR-Bit-Operation) kombiniert werden, Sortierzeichenfolge ohne Berücksichtigung der Groß- und Kleinschreibung.

  • <?php
    header("Content-type:text/html;charset=utf-8");
    $arr1 = array(10, 23, 5, 12, 84, 16);
    sort($arr1,2);
    var_dump($arr1);
    
    $arr2= array("香蕉","苹果","梨子","橙子","橘子","榴莲");
    sort($arr2,1);
    var_dump($arr2);
    ?>

    Ausgabeergebnis:

  • Die Funktion sort() behält die Indexbeziehung nicht bei, sondern löscht den ursprünglichen Schlüsselnamen im Array und weist ihm einen neuen numerischen Schlüsselnamen zu.
<?php
header("Content-type:text/html;charset=utf-8");
$age = array("张三"=>30,"李四"=>23,"王五"=>15,"李华"=>12,"娜娜"=>26,"小红"=>16);
sort($age);
var_dump($age);
?>
Ausgabe:


Können PHP-Arrays sortiert werden?

Die Funktion sort() kann für Arrays (numerische Arrays) verwendet werden, bei denen die Beziehung zwischen Werten und Indizes nicht so wichtig ist, ist jedoch nicht für Arrays geeignet, bei denen die Beziehung zwischen Werten und Indizes nicht so wichtig ist Werte und Indizes sind wichtig. An dieser Stelle müssen Sie die Funktionen asort() und ksort() verwenden.

2. Verwenden Sie die Funktion asort()

Die Funktion asort() sortiert das assoziative Array in aufsteigender Reihenfolge basierend auf den Schlüsselwerten und ändert die Schlüsselnamen im ursprünglichen Array nicht. Können PHP-Arrays sortiert werden?

header("Content-type:text/html;charset=utf-8");
$age = array("张三"=>30,"李四"=>23,"王五"=>15,"李华"=>12,"娜娜"=>26,"小红"=>16);
asort($age);
var_dump($age);
?>

Ausgabe:

Die Parameterwerte sind die gleichen wie die Funktion sort(), Sie können auf sie verweisen.


3. Verwenden Sie die Funktion ksort()

Können PHP-Arrays sortiert werden?

Die Funktion ksort() sortiert das assoziative Array in aufsteigender Reihenfolge nach den Schlüsselnamen und ändert die Schlüsselnamen im ursprünglichen Array nicht.
<?php
header("Content-type:text/html;charset=utf-8");
$age = array("张三"=>30,"李四"=>23,"王五"=>15,"李华"=>12,"娜娜"=>26,"小红"=>16);
ksort($age);
var_dump($age);
?>

Ausgabe:

<?php
header("Content-type:text/html;charset=utf-8");
$arr= array("l"=>"lemon", "o"=>"orange", "b"=>"banana", "a"=>"apple");
ksort($arr);
var_dump($arr);
?>

Ausgabe:


Können PHP-Arrays sortiert werden?Die Funktion ksort() hat auch zwei Parameter. Die Parameterwerte sind die gleichen wie die Funktion sort(), Sie können auf sie verweisen .


2. Sortieren Sie das Array in absteigender Reihenfolge. Können PHP-Arrays sortiert werden?

Es gibt drei häufig verwendete absteigende Sortierfunktionen für Arrays:

rsort(): Sortieren Sie die Array-Elemente in absteigender Reihenfolge. ): Sortieren Sie das Array in absteigender Reihenfolge nach dem Schlüsselwert des zugehörigen Arrays

krsort(): Sortieren Sie das Array in absteigender Reihenfolge nach dem Schlüsselnamen des zugehörigen Arrays

  • 1 die rsort()-Funktion

  • rsort()-Funktion Wird zum Sortieren von Array-Elementen in absteigender Reihenfolge verwendet, d. h. von groß nach klein und von hoch nach niedrig.

    Schauen wir uns das Codebeispiel an:
  • <?php
    header("Content-type:text/html;charset=utf-8");
    $arr = array(2, 1, 5, 16, 29, 15);
    rsort($arr);
    var_dump($arr);
    ?>
  • Ausgabeergebnis:

rsort() 函数有两个参数:$array(必须)和$sortingtype(可省略)。$sortingtype参数用于表示排序模式,具体取值可以参考上篇文章的sort()函数。下文arsort()和krsort()同样参考sort()函数。

<?php
header("Content-type:text/html;charset=utf-8");
$arr = array(2, 1, 5, 16, 29, 15);
rsort($arr,2);
var_dump($arr);
?>

输出结果:

Können PHP-Arrays sortiert werden?

rsort()和sort()函数一样,都不会保持索引关系,会删除数组中原有的键名,并为其重新赋值;因此不适合用于注重值和索引间关系的数组。

2、使用arsort()函数

arsort()函数会根据关联数组的键值进行降序排序,且不会修改原数组中的键名。

<?php
header("Content-type:text/html;charset=utf-8");
$age = array("张三"=>30,"李四"=>23,"王五"=>15,"李华"=>12,"娜娜"=>26,"小红"=>16);
arsort($age);
var_dump($age);

arsort($age,2);
var_dump($age);
?>

输出结果:

Können PHP-Arrays sortiert werden?

3、使用krsort()函数

krsort()函数会根据关联数组的键名进行降序排序,也不会修改原数组中的键名。

<?php
header("Content-type:text/html;charset=utf-8");
$arr= array("l"=>"lemon", "o"=>"orange", "b"=>"banana", "a"=>"apple");
krsort($arr);
var_dump($arr);

krsort($arr,1);
var_dump($arr);
?>

输出结果:

Können PHP-Arrays sortiert werden?

3、随机排序

在PHP中,可以使用shuffle()函数随机排序,打乱数组元素。

shuffle()函数会把数组中的元素按随机顺序重新排列。

<?php
header("Content-type:text/html;charset=utf-8");
$arr1 = array(10, 23, 5, 12, 84, 16);
shuffle($arr1);
var_dump($arr1);

$arr2= array("香蕉","苹果","梨子","橙子","橘子","榴莲");
shuffle($arr2);
var_dump($arr2);
?>

输出结果:

Können PHP-Arrays sortiert werden?

刷新一下,结果就改变了:

Können PHP-Arrays sortiert werden?

Können PHP-Arrays sortiert werden?

说明:shuffle()函数不仅会将数组随机打乱,还会删除数组中原有的键名,并为其赋与新的数值键名(即不会保持索引关系)。

推荐学习:《PHP视频教程

Das obige ist der detaillierte Inhalt vonKönnen PHP-Arrays sortiert werden?. 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