str_split

(PHP 5, PHP 7, PHP 8)

str_splitConvertit une chaîne de caractères en tableau

Description

str_split(string $string, int $length = 1): array

Convertit une chaîne de caractères en tableau.

Liste de paramètres

string

La chaîne d'entrée.

length

Longueur maximale de chaque élément.

Valeurs de retour

Si le paramètre optionnel length est spécifié, le tableau retourné sera découpé en sous-parties, chacune de taille length, à l'exception de la dernière sous-partie qui peut être plus courte si la chaîne ne se divise pas de manière égale. La valeur par défaut de length est 1, ce qui signifie que chaque sous-partie aura une taille d'un octet.

Erreurs / Exceptions

Si length est plus petit que 1, une ValueError sera déclenchée.

Historique

Version Description
8.0.0 Si length est plus petit que 1, une ValueError sera déclenchée; auparavant, une erreur de type E_WARNING était emise, et la fonction retournait false.

Exemples

Exemple #1 Exemple avec str_split()

<?php

$str 
"Hello Friend";

$arr1 str_split($str);
$arr2 str_split($str3);

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

?>

L'exemple ci-dessus va afficher :

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
)

Notes

Note:

str_split() va effectuer la découpe dans les bits, plutôt que dans les caractères lors de l'utilisation avec une chaîne de caractères encodée en multioctets. Utilisez mb_str_split() pour séparer la chaîne en points de codes.

Voir aussi

add a note

User Contributed Notes 1 note

up
-3
lskatz at gmail dot com
14 years ago
A good use of str_split is reverse translating an amino acid sequence.

<?php
/* reverse translate an aa sequence using its dna counterpart */
function reverseTranslate($aaSeq,$ntSeq){
 
$nt=str_split($ntSeq,3);
 
$aa=str_split($aaSeq,1);
 
$gapChar=array('*','-');

 
$numAa=count($aa);
 
$ntIndex=0;
 
$newNtSeq="";
  for(
$i=0;$i<$numAa;$i++){
   
// if the aa is a gap, then just put on a gap character
   
if(in_array($aa[$i],$gapChar)){
     
$newNtSeq.='---';
    }
    else{
     
$newNtSeq.=$nt[$ntIndex];
     
$ntIndex++;
    }
  }
  return
$newNtSeq;
}
?>
To Top