web-dev-qa-db-ger.com

Wie kann ich eine durch Kommas getrennte Zeichenfolge in ein Array in PHP aufteilen?

Ich muss meine Zeichenfolgeneingabe an den Kommas in ein Array aufteilen.

Wie kann ich das erreichen?

Eingang:

9,[email protected],8
218
Kevin

Versuchen Sie explodieren :

$myString = "9,[email protected],8";
$myArray = explode(',', $myString);
print_r($myArray);

Ausgabe :

Array
(
    [0] => 9
    [1] => [email protected]
    [2] => 8
)
457
Matthew Groves
$myString = "9,[email protected],8";
$myArray = explode(',', $myString);
foreach($myArray as $my_Array){
    echo $my_Array.'<br>';  
}

Ausgabe

9
[email protected]
8
46
Jakir Hossain
$string = '9,[email protected],8';
$array = explode(',', $string);

Für kompliziertere Situationen müssen Sie möglicherweise preg_split verwenden.

29
ceejayoz

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.

29
soulmerge

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>

1
antelove

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
)
0
Gautam Rai