PHP взорвать (), возвращается разделитель?

Я не уверен, почему, но функция взрыва, кажется, не работает для меня.

У меня есть строка, содержащая один или несколько наборов значений, разделенных запятыми. Эти наборы разделяются начальными/конечными квадратными скобками.

После удаления окончания «[» и «]» я подумал, что будет просто использовать функцию разнесения, чтобы получить результаты, разделенные «][». Вместо этого я получаю что-то странное.

$rawInserts = '[1,2,3,4,5][2,3,4,5,6][3,4,5,6,7]';
$the_inserts = substr($rawInserts,1,strlen($rawInserts)-2);
echo "$the_inserts \n"; //returns "1,2,3,4,5][2,3,4,5,6][3,4,5,6,7"
$inserts = explode($the_inserts , "][");
echo print_r($inserts)."\n"; // returns one item array containing "][";

почему он возвращает "]["? (К вашему сведению, я попробовал именно этот пример, и он не работает).

Заранее спасибо.


person KonWag    schedule 02.10.2011    source источник
comment
откат; оставьте вопрос на месте для других   -  person Ross    schedule 02.10.2011


Ответы (4)


array explode ( string $delimiter , string $string [, int $limit ] )

Разделитель первый, строка второй.

person deceze♦    schedule 02.10.2011
comment
Спасибо, извините за глупость. Я смотрел на руководство, и оно не выскочило. Добавление примечания к себе: всегда дважды проверяйте порядок параметров. - person KonWag; 02.10.2011

Переключите параметры. Это первый разделитель и строка в качестве второго параметра:

$inserts = explode('][', $the_inserts);
person Dennefyren    schedule 02.10.2011

должно быть $inserts = explode("][",$the_inserts );

person madcatzx    schedule 02.10.2011

Я сам не могу запомнить параметры для каждой функции, поэтому просто зайдите на сайт php.net и найдите функцию взрыва.

person yunzen    schedule 02.10.2011
comment
На самом деле я это сделал, просто это не выскочило у меня из головы, и казалось, что чем дольше я смотрел, тем больше я был уверен, что все сделал правильно. Во всяком случае, яйцо на моем лице. - person KonWag; 02.10.2011
comment
Это не должно было быть уничижительным. Когда вы не видите, что не так, начните с самого начала. И это начало: знать, как правильно вызывать функцию. - person yunzen; 02.10.2011