Поле содержит сл.
display=1;
menu_id=1;
Мне нужно чтобы эти параметры были в сл. виде:
$parameters['display']==1
$parameters['menu_id']==1
Думаю понятно что мне нужно сделать, но не пойму как. explode придется применять несколько раз, а это неоправданная нагрузка на сервер и на время. Кто может подсказать
Спустя 8 минут, 24 секунды (15.01.2012 - 13:09) Игорь_Vasinsky написал(а):
ещё раз что содержит $row['parameters'] и в каком виде
Спустя 5 минут, 28 секунд (15.01.2012 - 13:14) killer8080 написал(а):
list($k, $v) = explode('=', $row['parameters'], 2);
$parameters[$k] = $v;
unset($k, $v);
Спустя 43 секунды (15.01.2012 - 13:15) Nikitian написал(а):
Как-то так.
parse_str(str_replace(array("\n","\r",';'),array('&','&',''),$row['parameters']),$parameters);
Спустя 3 минуты, 29 секунд (15.01.2012 - 13:19) jalvar написал(а):
Цитата (killer8080 @ 15.01.2012 - 10:14) |
list($k, $v) = explode('=', $row['parameters'], 2); |
Ваш ответ выглядит более правильным спасибо!
Спустя 2 минуты, 45 секунд (15.01.2012 - 13:21) jalvar написал(а):
Цитата (Nikitian @ 15.01.2012 - 10:15) |
Как-то так.
|
Спасибо большое, работает. То что нужно!
Спустя 5 минут, 59 секунд (15.01.2012 - 13:27) killer8080 написал(а):
Не правильно понял условие задачи :)
Ну как вариант на регулярках
Ну как вариант на регулярках
preg_match_all('#([a-z\d_]+)=([^;]+)#isU', $row['parameters'], $m);
$parameters = array_combine($m[1], $m[2]);
echo '<pre>'.print_r($parameters, 1).'</pre>';
_____________
jallvar.oxnull.net - мой блог.