Heim >Backend-Entwicklung >PHP-Tutorial >PHP-Array-Sortierung in Chinesisch und Englisch

PHP-Array-Sortierung in Chinesisch und Englisch

WBOY
WBOYOriginal
2016-08-04 09:20:302541Durchsuche

Das PHP-Array enthält sowohl Chinesisch als auch Englisch. So sortieren Sie das Array nach dem ersten Wort oder chinesischen Zeichen

Antwortinhalt:

Das PHP-Array enthält sowohl Chinesisch als auch Englisch. So sortieren Sie das Array nach dem ersten Wort oder chinesischen Zeichen

PHP verfügt über viele Funktionen zum Sortieren von Arrays.

Zum Beispiel die grundlegendsten sort und rsort (das Hinzufügen von r bedeutet umgekehrte Reihenfolge, dasselbe unten);
natürliche Sortierungnatsort (natürliche Sortierung bedeutet, Zahlen nach Größe zu sortieren, nicht nach ASCII-Code-Sortierung) und natcasesort, die die Groß-/Kleinschreibung ignorieren;
, die die Schlüssel-Wert-Indexbeziehung beibehalten; asort, die nach Schlüssel sortieren; > Wenn Sie mit den eingebauten Sortierregeln nicht zufrieden sind, können Sie auch eigene Funktionen schreiben, um die Sortierregeln arsort,
und ksort zu bestimmen (entsprechend den oben genannten Funktionen ohne krsort);
kann auch mehrere Arrays sortieren Sortieren und nur die usort der Schlüssel-Wert-Indexbeziehung des assoziativen Arrays beibehalten. uasort uksortBei so vielen Rankings gibt es immer eines, das zu Ihnen passt. uWeitere Informationen finden Sie in der Dokumentation.
array_multisort

Die Verwendung der strcmp-String-Vergleichssortierung kann tatsächlich Ihre Anforderungen erfüllen.
Der Hauptunterschied zwischen der natürlichen Strcmp-String-Vergleichssortierung und der strcmp-String-Vergleichssortierung ist die Anzahl der von strnatcmp verarbeiteten numerischen Elemente, und es gibt eine Größenbeziehung.

Der vereinfachte chinesische Sortierer collator_sort (zh_CN) in der ICU-Erweiterung intl kann hauptsächlich nach dem Pinyin chinesischer Schriftzeichen wie Ali, Baidu, ZhongGuo sortieren Verwenden Sie ICU Extend intl, um chinesische Schriftzeichen schnell in Pinyin umzuwandeln und nach dem ersten Buchstaben von Pinyin zu sortieren. Das Konvertieren chinesischer Schriftzeichen in Pinyin ist nur eine Funktion:

<code><?php
header('Content-Type: text/plain; charset=utf-8');
$arr = explode(' ', '1 11 111 112 12 121 122 a aa aaa aab ab aba abb 阿里 百度 中 中国 中国国 中国中 中中 中中国 中中中');
shuffle($arr); //打乱数组
//collator_sort(collator_create('zh_CN'), $arr);
//usort($arr, function($a, $b) { return strnatcmp($a, $b); });
usort($arr, function($a, $b) { return strcmp($a, $b); });
echo implode(' ',$arr);
exit();
?>
ls排序:
1 11 111 112 12 121 122 a aa aaa aab ab aba abb 阿里 百度 中 中国 中国国 中国中 中中 中中国 中中中
collator_sort(zh_CN)排序(类似Windows/Linux桌面文件管理器里的默认按名称上升排列):
1 11 12 111 112 121 122 a aa aaa aab ab aba abb 阿里 百度 中 中国 中国国 中国中 中中 中中国 中中中
strnatcmp排序:
1 11 12 111 112 121 122 a aa aaa aab ab aba abb 中 中中 中中中 中中国 中国 中国中 中国国 百度 阿里
strcmp排序:
1 11 111 112 12 121 122 a aa aaa aab ab aba abb 中 中中 中中中 中中国 中国 中国中 中国国 百度 阿里</code>
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