Ich muss meine Zeichenfolgeneingabe an den Kommas in ein Array aufteilen.
Wie kann ich das erreichen?
9,[email protected],8
Versuchen Sie explodieren :
$myString = "9,[email protected],8";
$myArray = explode(',', $myString);
print_r($myArray);
Ausgabe :
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>';
}
Ausgabe
9
[email protected]
8
$string = '9,[email protected],8';
$array = explode(',', $string);
Für kompliziertere Situationen müssen Sie möglicherweise preg_split
verwenden.
Wenn dieser String aus einer CSV-Datei stammt, würde ich fgetcsv()
(oder str_getcsv()
verwenden, wenn Sie PHP V5.3) haben. So können Sie zitierte Werte korrekt analysieren. Wenn es sich nicht um eine csv handelt, sollte explode()
die beste Wahl sein.
Code:
$string = "9,[email protected],8";
$array = explode(",", $string);
print_r($array);
$no = 1;
foreach ($array as $line) {
echo $no . ". " . $line . PHP_EOL;
$no++;
};
Online:
body, html, iframe {
width: 100% ;
height: 100% ;
overflow: hidden ;
}
<iframe src="https://ideone.com/pGEAlb" ></iframe>
Auf einfache Weise können Sie mit explode($delimiter, $string)
gehen;
Aber mit der manuellen Programmierung:
$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
)