Как я могу разбить строку через запятую в массив в PHP? - PullRequest
228 голосов
/ 14 июля 2009

Мне нужно разбить мой строковый ввод на массив через запятую.

Как я могу добиться этого?

Введите:

9,admin@example.com,8

Ответы [ 6 ]

480 голосов
/ 14 июля 2009

Попробуйте взорваться :

$myString = "9,admin@example.com,8";
$myArray = explode(',', $myString);
print_r($myArray);

Выход:

Array
(
    [0] => 9
    [1] => admin@example.com
    [2] => 8
)
50 голосов
/ 07 сентября 2015
$myString = "9,admin@example.com,8";
$myArray = explode(',', $myString);
foreach($myArray as $my_Array){
    echo $my_Array.'<br>';  
}

выход

9
admin@example.com
8
31 голосов
/ 14 июля 2009
$string = '9,admin@google.com,8';
$array = explode(',', $string);

В более сложных ситуациях вам может понадобиться preg_split.

30 голосов
/ 14 июля 2009

Если эта строка происходит из CSV-файла, я бы использовал fgetcsv() (или str_getcsv(), если у вас PHP V5.3). Это позволит вам правильно анализировать указанные значения. Если это не CSV, explode() должен быть лучшим выбором.

1 голос
/ 25 августа 2017

Код:

$string = "9,admin@example.com,8";

$array  = explode(",", $string);

print_r($array);

$no = 1;
foreach ($array as $line) {
    echo $no . ". " . $line . PHP_EOL;
    $no++;
};

Интернет:

body, html, iframe { 
  width: 100% ;
  height: 100% ;
  overflow: hidden ;
}
<iframe src="https://ideone.com/pGEAlb" ></iframe>
0 голосов
/ 21 мая 2018

Проще говоря, вы можете пойти с explode($delimiter, $string);

Но в широком смысле, с ручным программированием:

        $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
)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...