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 !
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...)
其中需要注意的是:
参数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 '<br/>'; print_r($a2); ?>
输出结果:
上述示例中,返回的结果是进行了升序的排序,下面我们来看一下,当两个值相同的时候,输出结果会有什么变化,示例如下:
<?php $a1=array("Dog","Dog","Cat"); $a2=array("Pluto","Fw","Marry"); array_multisort($a1,$a2); print_r($a1); echo '<br/>'; print_r($a2); ?>
输出结果:
上述示例中,当数组中的两个元素都相同的时候,并不会被覆盖,而是键名不同重新排序。
下面我们在来看一个综合的实例,当我们合并两个数组并且按照降序进行排列,输出结果会发生什么变化,示例如下:
<?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); ?>
输出结果:
上述中我们通过array_multisort
函数能够对数组元素进行排序,下面我们来介绍一下shuffle函数。它能够将数组打乱。
<strong><span style="max-width:90%">shuffle</span></strong>
函数-重新排序数组
在PHP中既然有函数能够将数组元素进行有序的排序,那同样的也有办法能够将数组进行重新排序,也就是将数组打乱。shuffle
函数的基本语法结构如下:
shuffle(array)
其中参数array就是需要进行重新排序的数组,shuffle
.
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); ?>
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
. array_multisort
anhand eines Beispiels an. Das Beispiel sieht wie folgt aus: 🎜rrreee🎜Ausgabeergebnis: 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); ?>
输出结果:
上述示例中,通过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!