str_split - separar cadenas de texto en php
¿Cómo puedo dividir una cadena delimitada por comas en una matriz en PHP? (6)
Código:
$string = "9,[email protected],8";
$array = explode(",", $string);
print_r($array);
$no = 1;
foreach ($array as $line) {
echo $no . ". " . $line . PHP_EOL;
$no++;
};
En línea:
body, html, iframe {
width: 100% ;
height: 100% ;
overflow: hidden ;
}
<iframe src="https://ideone.com/pGEAlb" ></iframe>
Necesito dividir mi entrada de cadena en una matriz en las comas.
¿Cómo puedo lograr esto?
Entrada:
De manera simple puedes ir con explode($delimiter, $string)
;
Pero de manera amplia, con Programación Manual:
$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
)
Intenta explode :
$myString = "9,[email protected],8";
$myArray = explode('','', $myString);
print_r($myArray);
Salida:
Array
(
[0] => 9
[1] => [email protected]
[2] => 8
)
Si esa cadena proviene de un archivo csv, usaría fgetcsv()
(o str_getcsv()
si tiene PHP V5.3). Eso te permitirá analizar correctamente los valores citados. Si no es un csv, explode()
debería ser la mejor opción.
$myString = "9,[email protected],8";
$myArray = explode('','', $myString);
foreach($myArray as $my_Array){
echo $my_Array.''<br>'';
}
Salida
$string = ''9,[email protected],8'';
$array = explode('','', $string);
Para situaciones más complicadas, es posible que necesite usar preg_split
.