Разобрать строку в массив - PullRequest
1 голос
/ 03 февраля 2012

У меня есть строка

$str = "recordsArray[]=3&recordsArray[]=1";

Есть ли простой способ сделать это в массиве, кроме взрыва эта строка в &? Я ожидаю такой результат print_r($str);

//expecting output
array('0' => '3','1' => '1');

Ответы [ 2 ]

7 голосов
/ 03 февраля 2012

Да, есть: parse_str Документы ;Пример ( Демо ):

parse_str("recordsArray[]=3&recordsArray[]=1", $test);
print_r($test);
2 голосов
/ 03 февраля 2012

Используйте preg_match_all вот так:

$str = "recordsArray[]=3&recordsArray[]=1";
if ( preg_match_all('~\[\]=(\d+)~i', $str, $m) )
   print_r ( $m[1] );

ВЫВОД:

Array
(
    [0] => 3
    [1] => 1
)
...