J'ai besoin de scinder ma chaîne d'entrée dans un tableau avec des virgules.
Comment puis-je y arriver?
9,[email protected],8
Essayez exploser :
$myString = "9,[email protected],8";
$myArray = explode(',', $myString);
print_r($myArray);
Sortie:
Array
(
[0] => 9
[1] => [email protected]
[2] => 8
)
$myString = "9,[email protected],8";
$myArray = explode(',', $myString);
foreach($myArray as $my_Array){
echo $my_Array.'<br>';
}
Sortie
9
[email protected]
8
$string = '9,[email protected],8';
$array = explode(',', $string);
Pour des situations plus complexes, vous devrez peut-être utiliser preg_split
.
Si cette chaîne provient d'un fichier csv, j'utiliserais fgetcsv()
(ou str_getcsv()
si vous avez PHP V5.3). Cela vous permettra d’analyser correctement les valeurs citées. Si ce n'est pas un csv, explode()
devrait être le meilleur choix.
Code:
$string = "9,[email protected],8";
$array = explode(",", $string);
print_r($array);
$no = 1;
foreach ($array as $line) {
echo $no . ". " . $line . PHP_EOL;
$no++;
};
En ligne:
body, html, iframe {
width: 100% ;
height: 100% ;
overflow: hidden ;
}
<iframe src="https://ideone.com/pGEAlb" ></iframe>
De manière simple, vous pouvez utiliser explode($delimiter, $string)
;
Mais au sens large, avec la programmation manuelle:
$string = "ab,cdefg,xyx,ht623";
$resultArr = [];
$strLength = strlen($string);
$delimiter = ',';
$j = 0;
$tmp = '';
for ($i = 0; $i < $strLength; $i++) {
if($delimiter === $string[$i]) {
$j++;
$tmp = '';
continue;
}
$tmp .= $string[$i];
$resultArr[$j] = $tmp;
}
Outpou: print_r($resultArr);
Array
(
[0] => ab
[1] => cdefg
[2] => xyx
[3] => ht623
)