Heim > Backend-Entwicklung > PHP-Problem > PHP chinesischer und englischer String zum Array

PHP chinesischer und englischer String zum Array

王林
Freigeben: 2023-05-19 19:13:05
Original
604 Leute haben es durchsucht

In PHP müssen wir manchmal einen String in ein Array konvertieren. Wenn eine Zeichenfolge englische Wörter oder chinesische Zeichen enthält, müssen wir sie möglicherweise in Array-Elemente aufteilen. In diesem Artikel wird detailliert beschrieben, wie chinesische und englische Zeichenfolgen in Arrays konvertiert werden.

Schauen wir uns zunächst an, wie man in PHP einen String in Array-Elemente aufteilt. Sie können die Funktion „explosive()“ in PHP verwenden, um Folgendes zu erreichen:

$str = "Hello World";
$arr = explode(" ", $str);
print_r($arr);
Nach dem Login kopieren

Das Ausgabeergebnis dieses Programms ist:

Array
(
    [0] => Hello
    [1] => World
)
Nach dem Login kopieren

Im obigen Programm werden Leerzeichen als Trennzeichen verwendet, um die Zeichenfolge in Array-Elemente aufzuteilen. Unter diesen gibt der erste Parameter der Funktion „explodieren“ das Trennzeichen an, und der zweite Parameter ist die aufzuteilende Zeichenfolgenvariable.

Als nächstes betrachten wir, wie man einen gemischten chinesischen und englischen String in ein Array umwandelt. Hier müssen wir die regulären Ausdrücke von PHP verwenden, um die Zeichenfolge zu teilen. Am Beispiel gemischter chinesischer und englischer Sätze können wir das folgende Programm verwenden, um Zeichenfolgen in Arrays umzuwandeln:

$str = "Hello,世界";
preg_match_all("/./u", $str, $matches);
print_r($matches[0]);
Nach dem Login kopieren

Die Ausgabe des obigen Programms lautet wie folgt:

Array
(
    [0] => H
    [1] => e
    [2] => l
    [3] => l
    [4] => o
    [5] => ,
    [6] => 世
    [7] => 界
)
Nach dem Login kopieren

Hier verwenden wir die Funktion preg_match_all(), die Folgendes tut Teilen Sie eine Zeichenfolge basierend auf einem regulären Ausdruck in ein Array auf. Unter diesen bedeutet der reguläre Ausdruck „/./u“, dass alle Zeichen (einschließlich Chinesisch) übereinstimmen, und u bedeutet, in UTF-8-Codierung zu analysieren, um sicherzustellen, dass chinesische Zeichen korrekt verarbeitet werden können.

Das obige Programm verwendet die Funktion preg_match_all(), um die Zeichenfolge in Array-Elemente aufzuteilen. Wenn die Zeichenfolge chinesische Zeichen enthält, wird sie normalerweise in Zeichen unterteilt. Anhand der Ausgabeergebnisse können wir erkennen, dass das Programm alle verstreuten Zeichen in der Array-Variablen $matches[0] speichert.

Wenn wir die englischen und chinesischen Zeichen in der Zeichenfolge getrennt in verschiedenen Array-Elementen speichern möchten, können wir das folgende Programm verwenden:

$str = "Hello,世界";
preg_match_all("/[x{4e00}-x{9fa5}]+|[A-Za-z]+/u", $str, $matches);
print_r($matches[0]);
Nach dem Login kopieren

Die Ausgabe des Programms lautet wie folgt:

Array
(
    [0] => Hello
    [1] => 世界
)
Nach dem Login kopieren

Im obigen Programm reguläre Ausdrücke Es werden die Formel "/[x{4e00}-x{9fa5}]+|[A-Za-z]+/u" verwendet, wobei [x{4e00}-x{9fa5}] die Übereinstimmung chinesischer Zeichen und [A-Za-z] die Übereinstimmung englischer Zeichen bedeutet.

Wenn wir chinesische Schriftzeichen in Pinyin umwandeln müssen und das Pinyin auch als Array-Element gespeichert ist, können wir das folgende Programm verwenden:

$str = "你好,世界";
preg_match_all("/[x{4e00}-x{9fa5}]+|[A-Za-z]+/u", $str, $matches);
for($i=0; $i<count($matches[0]); $i++){
    $str = $matches[0][$i];
    if (preg_match("/[x{4e00}-x{9fa5}]/u", $str)) {
        $pinyin = PinYin($str);
        $arr[] = $pinyin[0];
    } else {
        $arr[] = $str;
    }
}
print_r($arr);
Nach dem Login kopieren

Die Ergebnisse dieses Programms sind wie folgt:

Array
(
    [0] => ni
    [1] => hao
    [2] => shi
    [3] => jie
)
Nach dem Login kopieren

Im obigen Programm Wir kapseln eine Funktion PinYin() , diese Funktion wird verwendet, um chinesische Schriftzeichen in Pinyin umzuwandeln. Solange die Zeichenfolge chinesische Zeichen enthält, wird im Programm diese Funktion aufgerufen, um die chinesischen Zeichen in Pinyin umzuwandeln und sie in der Array-Variablen $arr zu speichern.

Zu diesem Zeitpunkt haben wir chinesische und englische Zeichenfolgen erfolgreich in Arrays konvertiert. Wenn Sie Zeichenverarbeitung und Textanalyse durchführen müssen, wird die Konvertierung eines Strings in ein Array zu einer Ihrer am häufigsten verwendeten PHP-Funktionen.

Das obige ist der detaillierte Inhalt vonPHP chinesischer und englischer String zum Array. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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