Maison > développement back-end > Problème PHP > Chaîne PHP chinoise et anglaise vers un tableau

Chaîne PHP chinoise et anglaise vers un tableau

王林
Libérer: 2023-05-19 19:13:05
original
630 Les gens l'ont consulté

En PHP, nous avons parfois besoin de convertir une chaîne en tableau. Lorsqu'une chaîne contient des mots anglais ou des caractères chinois, nous devrons peut-être la diviser en éléments de tableau. Ici, cet article présentera en détail comment convertir des chaînes chinoises et anglaises en tableaux.

Tout d'abord, voyons comment diviser une chaîne en éléments de tableau en PHP. Ceci peut être réalisé en utilisant la fonction éclater() en PHP :

$str = "Hello World";
$arr = explode(" ", $str);
print_r($arr);
Copier après la connexion

Le résultat de sortie de ce programme est :

Array
(
    [0] => Hello
    [1] => World
)
Copier après la connexion

Dans le programme ci-dessus, les espaces sont utilisés comme séparateurs pour entrez la chaîne dispersée en éléments du tableau. Parmi eux, le premier paramètre de la fonction éclater() spécifie le séparateur et le deuxième paramètre est la variable chaîne à décomposer.

Ensuite, nous examinons comment convertir une chaîne mixte chinois et anglais en un tableau. Ici, nous devons utiliser des expressions régulières PHP pour diviser les chaînes. En prenant comme exemple des phrases mixtes en chinois et en anglais, nous pouvons utiliser le programme suivant pour convertir des chaînes en tableaux :

$str = "Hello,世界";
preg_match_all("/./u", $str, $matches);
print_r($matches[0]);
Copier après la connexion

Le résultat du programme ci-dessus est le suivant :

Array
(
    [0] => H
    [1] => e
    [2] => l
    [3] => l
    [4] => o
    [5] => ,
    [6] => 世
    [7] => 界
)
Copier après la connexion

Ici, nous avons utilisé la fonction preg_match_all(), qui divise une chaîne en un tableau basé sur une expression régulière. Parmi eux, l'expression régulière "/./u" signifie faire correspondre tous les caractères (y compris le chinois), et u signifie analyser en codage UTF-8, garantissant que les caractères chinois peuvent être traités correctement.

Le programme ci-dessus utilise la fonction preg_match_all() pour diviser la chaîne en éléments du tableau. S'il y a du chinois dans la chaîne, elle sera normalement divisée en caractères. À partir des résultats de sortie, nous pouvons voir que le programme stocke tous les caractères dispersés dans la variable tableau $matches[0].

Si nous voulons stocker les caractères anglais et chinois de la chaîne séparément dans différents éléments du tableau, nous pouvons utiliser le programme suivant :

$str = "Hello,世界";
preg_match_all("/[x{4e00}-x{9fa5}]+|[A-Za-z]+/u", $str, $matches);
print_r($matches[0]);
Copier après la connexion

La sortie de ce programme est la suivante suit :

Array
(
    [0] => Hello
    [1] => 世界
)
Copier après la connexion

Dans le programme ci-dessus, l'expression régulière "/[x{4e00}-x{9fa5}]+|[A-Za-z]+/u" est utilisée, où [x{4e00}-x{9fa5}] signifie les caractères chinois correspondants, [A-Za-z] signifie faire correspondre les caractères anglais.

Si nous devons convertir des caractères chinois en Pinyin et que le Pinyin est également stocké en tant qu'élément de tableau, nous pouvons utiliser le programme suivant :

$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);
Copier après la connexion

Le résultat de ce programme est la suivante : #🎜🎜 #

Array
(
    [0] => ni
    [1] => hao
    [2] => shi
    [3] => jie
)
Copier après la connexion
Dans le programme ci-dessus, nous encapsulons une fonction PinYin(), qui est utilisée pour convertir les caractères chinois en Pinyin. Dans le programme, tant que la chaîne contient des caractères chinois, cette fonction sera appelée pour convertir les caractères chinois en Pinyin et les stocker dans la variable tableau $arr.

À ce stade, nous avons réussi à convertir les chaînes chinoises et anglaises en tableaux. Si vous devez effectuer un traitement de caractères et une analyse de texte, la conversion d'une chaîne en tableau deviendra l'une de vos fonctions PHP couramment utilisées.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal