Heim > Backend-Entwicklung > PHP-Tutorial > Wie löst man das Problem des Sortierens und Mischens von Arrays in PHP?

Wie löst man das Problem des Sortierens und Mischens von Arrays in PHP?

WBOY
Freigeben: 2023-04-10 19:38:01
Original
4866 Leute haben es durchsucht

Im vorherigen Artikel „Wie erhalte ich den Schlüsselnamen im Array?“ Wie konvertiere ich die Groß-/Kleinschreibung von Schlüsselnamen? “ bietet eine detaillierte Einführung in Schlüsselnamenoperationen in PHP, wie z. B. das Abrufen von Schlüsselnamen und das Konvertieren der Groß-/Kleinschreibung von Schlüsselnamen. In diesem Artikel werfen wir einen Blick darauf, wie man mehrere Arrays in PHP sortiert. Ich hoffe, dass es für alle hilfreich ist !

Wie löst man das Problem des Sortierens und Mischens von Arrays in PHP?

Im vorherigen Artikel haben wir gelernt, dass wir die Funktion array_keys verwenden müssen, wenn wir alle Elementnamen im Array abrufen möchten Um Array-Schlüsselnamen zu erhalten, müssen wir zum Betrieb die Funktion array_change_key_case verwenden. Dies ist alles Teil der Array-Operation. Wir haben zuvor in „So sortieren Sie PHP-Arrays (Einige) besprochen davon werden im Abschnitt „Ausführliche Bilder und Texte“ kurz vorgestellt array_keys函数来实现,想要转换数组键名的大小写需要通过array_change_key_case函数来进行操作。这都是属于数组操作的一部分,我们之前在《怎样去给PHP数组进行排序(图文详解)》中简单的介绍了一些。

在PHP中怎样才能对多个数组进行排序?有怎样随机的对数组进行随机排序呢?在PHP中有内置的array_multisort函数与shuffle函数能够对数组进行升序排列和随机排序,下面我们一起来看一下吧。

<strong><span style="font-size: 20px;">array_multisort</span></strong>函数-对多个数组进行排序

在PHP中array_multisort函数能够输入一个或者多个数组,函数会先给第一个数组排序,然后接着对下一组进行排序。array_multisort函数的基本语法格式如下:

array_multisort(array1,sorting order,sorting type,array2,array3...)
Nach dem Login kopieren

其中需要注意的是:

参数array1是必须要有的,是要进行排序的数组,参数array2、3是可选的,也是要进行排序的数组。参数sorting order也是一个可选的参数,在默认的情况下参数表示的是SORT_ASC,表示的是数组排序是升序,当单数sorting order为SORT_DESC的时候,表示的是按降序排列。

参数sorting type也是一个可选参数,默认情况下的值为SORT_REGULAR表示的是,数组排序按照常规顺序排列。当参数的值为SORT_NUMERIC 的时候表示的是将数组中的元素当做数字来进行处理。当参数的值为SORT_STRING表示的是将数组中的元素当做字符串来进行处理。当参数的值为SORT_LOCALE_STRING表示的是一颗通过setlocale函数来进行更改的作为字符串处理。当参数的值为SORT_NATURAL表示的是类似 natsort() 的自然排序。

使用array_multisort函数对字符串进行排序,键名为字符串的元素,键名会保留,但是键名为数字的会被重新索引。这个索引规则还是一样的。

如果排序成功的话,返回的结果是true;如果排序失败,返回的结果是false

下面我们通过示例来看一下array_multisort函数的基本用法,示例如下:

<?php
$a1=array("Dog","Cat");
$a2=array("Fw","Marry");
array_multisort($a1,$a2);
print_r($a1);
echo &#39;<br/>&#39;;
print_r($a2);
?>
Nach dem Login kopieren

输出结果:

Wie löst man das Problem des Sortierens und Mischens von Arrays in PHP?

上述示例中,返回的结果是进行了升序的排序,下面我们来看一下,当两个值相同的时候,输出结果会有什么变化,示例如下:

<?php
$a1=array("Dog","Dog","Cat");
$a2=array("Pluto","Fw","Marry");
array_multisort($a1,$a2);
print_r($a1);
echo &#39;<br/>&#39;;
print_r($a2);
?>
Nach dem Login kopieren

输出结果:

Wie löst man das Problem des Sortierens und Mischens von Arrays in PHP?

上述示例中,当数组中的两个元素都相同的时候,并不会被覆盖,而是键名不同重新排序。

下面我们在来看一个综合的实例,当我们合并两个数组并且按照降序进行排列,输出结果会发生什么变化,示例如下:

<?php
$a1=array(1,30,15,7,25);
$a2=array(4,30,20,41,66);
$num=array_merge($a1,$a2);
array_multisort($num,SORT_DESC,SORT_NUMERIC);
print_r($num);
?>
Nach dem Login kopieren

输出结果:

Wie löst man das Problem des Sortierens und Mischens von Arrays in PHP?

上述中我们通过array_multisort函数能够对数组元素进行排序,下面我们来介绍一下shuffle函数。它能够将数组打乱。

<strong><span style="max-width:90%">shuffle</span></strong>函数-重新排序数组

在PHP中既然有函数能够将数组元素进行有序的排序,那同样的也有办法能够将数组进行重新排序,也就是将数组打乱。shuffle函数的基本语法结构如下:

shuffle(array)
Nach dem Login kopieren

其中参数array就是需要进行重新排序的数组,shuffle.

🎜Wie sortiere ich mehrere Arrays in PHP? Wie sortiere ich ein Array zufällig? Es gibt in PHP integrierte Funktionen array_multisort und shuffle, die Arrays in aufsteigender Reihenfolge und nach dem Zufallsprinzip sortieren können. Schauen wir uns diese gemeinsam an. 🎜🎜<strong><span style="font-size: 20px;">array_multisort</span></strong> Funktion – Mehrere Arrays sortieren🎜🎜In PHP kann die Funktion array_multisort ein oder mehrere Arrays eingeben. Die Funktion sortiert zuerst das erste Array und sortiert dann das nächste Gruppe. Das grundlegende Syntaxformat der Funktion array_multisort lautet wie folgt: 🎜
<?php
$my_array = array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow","e"=>"purple");
shuffle($my_array);
print_r($my_array);
?>
Nach dem Login kopieren
Nach dem Login kopieren
🎜Was beachtet werden muss, ist:
🎜🎜Der Parameter array1 ist erforderlich und muss vorhanden sein sortiert. Die Parameter array2 und 3 sind optional und stellen auch die zu sortierenden Arrays dar. Der Parameter sorting order ist ebenfalls ein optionaler Parameter. Standardmäßig stellt der Parameter SORT_ASC dar, was angibt, dass die Array-Sortierung in aufsteigender Reihenfolge erfolgt, wenn die singuläre Sortierreihenfolge SORT_DESC ist Wann bedeutet es, in absteigender Reihenfolge zu sortieren. 🎜🎜Der Parameter sorting type ist ebenfalls ein optionaler Parameter. Der Standardwert ist SORT_REGULAR, was bedeutet, dass das Array in einer regelmäßigen Reihenfolge sortiert wird. Wenn der Parameterwert SORT_NUMERIC ist, bedeutet dies, dass die Elemente im Array als Zahlen behandelt werden. Wenn der Parameterwert SORT_STRING ist, bedeutet dies, dass die Elemente im Array als Zeichenfolgen behandelt werden. Wenn der Wert des Parameters SORT_LOCALE_STRING ist, bedeutet dies, dass eine Zeichenfolge durch die Funktion setlocale geändert wird. Wenn der Parameterwert SORT_NATURAL ist, stellt er eine natürliche Sortierung ähnlich wie natsort() dar. 🎜🎜Verwenden Sie die Funktion array_multisort, um Zeichenfolgen zu sortieren. Die Schlüsselnamen von Elementen, deren Schlüsselnamen Zeichenfolgen sind, werden beibehalten, aber diejenigen, deren Schlüsselnamen Zahlen sind, werden neu indiziert. Die Indexierungsregeln sind immer noch dieselben. 🎜🎜Wenn die Sortierung erfolgreich ist, ist das zurückgegebene Ergebnis true; wenn die Sortierung fehlschlägt, ist das zurückgegebene Ergebnis false.
🎜🎜Sehen wir uns die grundlegende Verwendung der Funktion array_multisort anhand eines Beispiels an. Das Beispiel sieht wie folgt aus: 🎜rrreee🎜Ausgabeergebnis:
🎜🎜Wie löst man das Problem des Sortierens und Mischens von Arrays in PHP?🎜🎜Im obigen Beispiel ist das Die zurückgegebenen Ergebnisse werden in aufsteigender Reihenfolge sortiert. Schauen wir uns an, wie sich die Ausgabeergebnisse ändern, wenn die beiden Werte gleich sind. Das Beispiel lautet wie folgt:
🎜rrreee🎜Ausgabeergebnisse:
🎜🎜Wie löst man das Problem des Sortierens und Mischens von Arrays in PHP?🎜🎜 Wenn im obigen Beispiel zwei Elemente im Array alle gleich sind, werden sie nicht überschrieben, sondern mit unterschiedlichen Schlüsselnamen neu angeordnet. 🎜🎜Sehen wir uns unten ein umfassendes Beispiel an, wenn wir zwei Arrays zusammenführen und in absteigender Reihenfolge anordnen. Das Beispiel sieht wie folgt aus: 🎜rrreee🎜Ausgabeergebnis: 🎜🎜Wie löst man das Problem des Sortierens und Mischens von Arrays in PHP?🎜🎜Oben übergeben wir array_multisort</code >Die Funktion kann Array-Elemente sortieren. Lassen Sie uns die Shuffle-Funktion vorstellen. Es kann das Array mischen. 🎜🎜<code><strong><span style="max-width:90%">Shuffle</span></strong> Funktion – Array neu anordnen🎜🎜Da es in PHP Funktionen gibt, die die Array-Elemente der Reihe nach sortieren können, gibt es auch Möglichkeiten, das Array neu anzuordnen, also das Array zu unterbrechen. Die grundlegende Syntaxstruktur der Funktion shuffle lautet wie folgt: 🎜rrreee🎜Das Parameterarray ist das Array, das neu angeordnet werden muss. Die Funktion shuffle() ordnet die Elemente neu an das Array in zufälliger Reihenfolge. Die ursprünglichen Schlüsselnamen im Array werden gelöscht und das neue Array erhält neue Schlüsselnamen. 🎜

函数如果排序成功,返回的结果是true,如果失败,返回的结果是flase

下面我们通过示例来看一下shuffle函数的使用,示例如下:

<?php
$my_array = array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow","e"=>"purple");
shuffle($my_array);
print_r($my_array);
?>
Nach dem Login kopieren
Nach dem Login kopieren

输出结果:

Wie löst man das Problem des Sortierens und Mischens von Arrays in PHP?

Wie löst man das Problem des Sortierens und Mischens von Arrays in PHP?

上述示例中,通过shuffle函数将数组进行重新排列,并且每执行一次数组的排列顺序就会改变。

大家如果感兴趣的话,可以点击《PHP视频教程》进行更多关于PHP知识的学习。

Das obige ist der detaillierte Inhalt vonWie löst man das Problem des Sortierens und Mischens von Arrays in PHP?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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