Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.119.133.96] |
|
Сообщ.
#1
,
|
|
|
У меня есть текст в переменной $text, он в себе содержит подобную информацию
book=dsdsd author=ffsfsdf page=322 Как мне лучше всего занести это в именованный массив? Меня попросили узнать. Ну тоесть, чтобы у меня была переменная $a и я к любому полю мог обращаться, как к $a['book'] или $a['page'] |
Сообщ.
#2
,
|
|
|
Лучше всего - regular expressions (http://php.net/preg_replace)
Добавлено в : PS. Лучше - это не значит легче %) Попробуй еще вот это: http://php.net/explode |
Сообщ.
#3
,
|
|
|
Да, об этом мне говорили, но что-то я не втираю...как их тут применить
|
Сообщ.
#4
,
|
|
|
function _array_combine($arr1, $arr2) { $res = array(); $c = count($arr1); for ($i = 0; $i < $c; $i++) { $res[$arr1[$i]] = isset($arr2[$i]) ? $arr2[$i] : null; }//for return($res); }//function preg_match_all("[//s]?([_a-z][_a-z0-9]*)=([^&]*)[//s]/i", $query, $regs); $keys = $regs[1]; $values = $regs[2]; $res = _array_combine($keys, $values); В РНР5 можно использовать ф-цию array_combine(), а в РНР4 её надо писать. |
Сообщ.
#5
,
|
|
|
SER-Gun, а на чем тебе на до?(язык)
|
Сообщ.
#6
,
|
|
|
А я такое делаю с помощью разделения по символу:
$mas = split(" ", $text); потом каждую разделяешь по "=" и записываешь куда нужно. Добавлено в : $mas = split(" ", $text); for($i=0; $i<count($mas); $i++) { $mas2 = split("=", $mas[$i]); // и тут записываешь каждую из двух частей $mas2[] куда тебе нужно. } |