75 votes

PHP : Diviser une chaîne de caractères en tableau, comme explode sans délimiteur

J'ai une chaîne de caractères telle que :

"0123456789"

Et j'ai besoin de diviser chaque dans un tableau.

J'ai essayé, pour le plaisir :

explode('', '123545789');

Mais ça m'a donné l'évidence : Avertissement : Aucun délimiteur défini dans explode) ..

Comment pourrais-je tomber dessus ? Je ne vois pas de méthode à portée de main, surtout une simple fonction.

133voto

Erik Points 12282
$array = str_split("0123456789bcdfghjkmnpqrstvwxyz");

str_split prend un 2ème paramètre optionnel, la longueur du chunk (par défaut 1), donc vous pouvez faire des choses comme :

$array = str_split("aabbccdd", 2);

// $array[0] = aa
// $array[1] = bb
// $array[2] = cc  etc ...

Vous pouvez également accéder à certaines parties de votre chaîne en la traitant comme un tableau :

$string = "hello";
echo $string[1];

// outputs "e"

19voto

nategood Points 3753

Vous pouvez accéder aux caractères d'une chaîne comme à un tableau :

$s = 'abcd';
echo $s[0];

impressions a '

7voto

Conan Points 787

Essayez ça :

$str = '123456789';
$char_array = preg_split('//', $str, -1, PREG_SPLIT_NO_EMPTY);

5voto

Soufiane Hassou Points 9789

str_split peut faire l'affaire. Notez que les chaînes de caractères en PHP sont accessibles comme un tableau de caractères. Dans la plupart des cas, vous n'aurez pas besoin de diviser votre chaîne en un "nouveau" tableau.

1voto

Reza Roshan Points 11

Essayez ça :

$str = "Hello Friend";

$arr1 = str_split($str);
$arr2 = str_split($str, 3);

print_r($arr1);
print_r($arr2);

L'exemple ci-dessus produira un résultat :

Array
(
    [0] => H
    [1] => e
    [2] => l
    [3] => l
    [4] => o
    [5] =>
    [6] => F
    [7] => r
    [8] => i
    [9] => e
    [10] => n
    [11] => d
)

Array
(
    [0] => Hel
    [1] => lo
    [2] => Fri
    [3] => end
)

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X