Dans PHP, STR_SPLIT est une fonction très utile qui peut diviser une chaîne en un tableau. En utilisant intelligemment STR_SPLIT , nous pouvons non seulement diviser la chaîne en plusieurs caractères uniques, mais aussi réaliser des effets de traitement de chaîne intéressants tels que le croisement. Aujourd'hui, nous allons discuter de la façon d'utiliser la fonction STR_SPLIT pour implémenter la sortie de dispositive des chaînes.
La fonction STR_SPLIT divise une chaîne dans un tableau. Sa syntaxe de base est la suivante:
str_split(string $string, int $length = 1): array
$ String : la chaîne à diviser.
$ Longueur : Spécifie la longueur de chaque élément de tableau, la valeur par défaut est 1.
Par exemple, utilisez STR_SPLIT pour diviser une chaîne "Helloworld" en un seul tableau de caractères:
$string = "HelloWorld";
$array = str_split($string);
print_r($array);
Sortir:
Array
(
[0] => H
[1] => e
[2] => l
[3] => l
[4] => o
[5] => W
[6] => o
[7] => r
[8] => l
[9] => d
)
Grâce à STR_SPLIT , la chaîne "Helloworld" est divisée en un tableau de chaque personnage.
Le décalage fait référence à la sortie alternative de deux caractères de chaîne dans l'ordre. Par exemple, supposons qu'il y ait deux chaînes "ABC" et "123" , le résultat après le décalage doit être "A1b2c3" .
Supposons que nous ayons deux chaînes, nous pouvons d'abord utiliser STR_SPLIT pour les diviser en tableaux, puis sortir ces tableaux alternativement. Jetons un coup d'œil au code d'implémentation:
<?php
function cross_output($str1, $str2) {
// Utilisez deux chaînes str_split Se diviser en tableaux
$arr1 = str_split($str1);
$arr2 = str_split($str2);
// Obtenez la longueur maximale de deux tableaux
$max_length = max(count($arr1), count($arr2));
// Utilisé pour enregistrer les résultats du croisement
$result = '';
// Sortie croisée par une longueur maximale
for ($i = 0; $i < $max_length; $i++) {
if (isset($arr1[$i])) {
$result .= $arr1[$i];
}
if (isset($arr2[$i])) {
$result .= $arr2[$i];
}
}
return $result;
}
$str1 = "abc";
$str2 = "123456";
echo cross_output($str1, $str2); // Sortir: a1b2c3456
?>
String divisé: utilisez STR_SPLIT pour diviser les deux chaînes transmises en tableaux $ arr1 et $ arr2 .
Obtenez la longueur maximale: nous obtenons la longueur maximale de deux tableaux, en nous assurant que nous pouvons traverser le dernier élément du tableau le plus long.
Sortie alternative: utilisez une boucle pour faire bouclez dans le tableau et ajoutez des caractères un par un. Si un index d'un tableau a une valeur, il est ajouté à la chaîne de résultats.
Dans le développement réel, cela peut impliquer le traitement des chaînes avec des URL. Par exemple, nous pourrions avoir besoin de traverser une chaîne avec une URL. Dans cet exemple, nous supposons que nous avons une chaîne contenant des URL, que nous voulons publier alternativement, mais que nous devons remplacer le nom de domaine dans l'URL par M66.net .
Supposons que nous ayons la chaîne suivante:
$str1 = "http://example.com/page1";
$str2 = "https://example.com/page2";
Lorsque nous sortions, remplacez le nom de domaine dans l'URL par M66.net , et le code est le suivant: