Php строку в массив
Автор Ёергей Воробьев задал вопрос в разделе Другие языки и технологии
Вопрос по PHP. Многомерный массив из строки. и получил лучший ответ
Ответ от Frisian[гуру]
>>скрипту передается строка, например, a/b/c/d. В самом скрипте нужно обработать эту строку как многомерный массив, получается что a - переменная, b - значение, с - переменная, d - значение и т. д
ОМГ!
это все мод реврайт должен делать!
и скрипт работает уже с простыми данными чере $_GET/$_POST/$_REQUEST!!!!
Ответ от Felix golbert[эксперт]
<?php
$s = "a/b/c/d/e/f";
$tmp = explode("/", $s);
$arr = array();
$k = count($tmp) / 2;
for ($m = 0, $n = 1; $m < $k; ++$m, ++$n) { $arr[$tmp[$m]] = $tmp[$n]; }
unset($tmp);
var_dump($arr);
?>
Что Сережа тестовое задание прислали а мы справится не можем?
> Это не тестовое задание. Пишу скрипт и понадобилось преобразовать строку в массив. Спасибо за помощь! )
есть две функции serialize/unserialize про них советую почитать на досуге
<?php
$s = "a/b/c/d/e/f";
$tmp = explode("/", $s);
$arr = array();
$k = count($tmp) / 2;
for ($m = 0, $n = 1; $m < $k; ++$m, ++$n) { $arr[$tmp[$m]] = $tmp[$n]; }
unset($tmp);
var_dump($arr);
?>
Что Сережа тестовое задание прислали а мы справится не можем?
> Это не тестовое задание. Пишу скрипт и понадобилось преобразовать строку в массив. Спасибо за помощь! )
есть две функции serialize/unserialize про них советую почитать на досуге
Ответ от Pure function[гуру]
Проще и красивее сделать это в виде роутера, как тут например.
Проще и красивее сделать это в виде роутера, как тут например.
Ответ от Ёаша Сокульский[гуру]
мод реврайт
так будет правильнее
RewriteRule ^(.*?)/(.*?)/(.*?)/(.*?)(/?)$ index.php?a=$1&b=$2&c=$3&d=$4 [L,QSA]
далее $_GET юзай
мод реврайт
так будет правильнее
RewriteRule ^(.*?)/(.*?)/(.*?)/(.*?)(/?)$ index.php?a=$1&b=$2&c=$3&d=$4 [L,QSA]
далее $_GET юзай
Ответ от 22 ответа[гуру]
Привет! Вот подборка тем с похожими вопросами и ответами на Ваш вопрос: Вопрос по PHP. Многомерный массив из строки.