[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: массив из строки
maccamset
Нужно получить массив из строки.
Строка:
{12:Иванов Иван Иванович},{19:Милевский Артём Борисович},
Нужно: в массиве ключ=>значение (12=>Иванов Иван Иванович и тд).
Пар в фигурных скобках может быть несколько.
Убираю разделитель - запятую.
пишу так
list ($id, $name) = split ('[,.-]', $_COOKIE["childs"]);
echo "id = ".$id." name = ".$name."";

ругается
A PHP Error was encountered

Severity: Notice

Message: Undefined offset: 1

Filename: callcenter/musers.php

Line Number: 422

подскажите))



Спустя 32 минуты, 51 секунда (30.08.2010 - 17:29) twin написал(а):
А сериализацию не проще было заюзать?

Спустя 17 часов, 55 минут, 48 секунд (31.08.2010 - 11:25) Nikitian написал(а):

$tmp=$tmp2=$arr=array();
$str='{12:Иванов Иван Иванович},{19:Милевский Артём Борисович},';
$tmp=explode(',',$str);
if(is_array($tmp) && sizeof($tmp)>0){
foreach($tmp as $item){
if(strlen($item)<3)continue;
$tmp2=explode(':',substr($item,1,strlen($item)-2));
if(is_array($tmp2) && sizeof($tmp2)==2)
$arr[$tmp2[0]]=$tmp2[1];
}
}

print_r($arr);

Для utf-8 использовать надо строковые функции семейства mb_*

Спустя 53 минуты, 22 секунды (31.08.2010 - 12:19) maccamset написал(а):
сделал так:
$_COOKIE["childs"] = '{12:Иванов Иван Иванович},{19:Милевский Артём Борисович},';
 $str_exp = explode(",", $_COOKIE["childs"]);
$childsArray = array();

foreach ($str_exp as $id => $name){
if($name != null){
$rep = array("{", "}");
$name = str_replace($rep, "", $name);
$name = explode(":", $name);
$childsArray[] = $name[0];
}
}

беру только $name[0] - ид, фио ненадо уже.
Мой метод работает, но, если есть в нём проблемы, подскажите.
Спасибо за ответы.twin пробывал, чёт не вышло. Пока так устроит

Спустя 3 часа, 18 минут, 8 секунд (31.08.2010 - 15:37) FatCat написал(а):
Цитата (twin @ 30.08.2010 - 18:29)
сериализацию не проще было заюзать?

Глючит она на больших массивах. Несколько раз налетал, поленился разбираться, забил, пишу в текст с нужными разделителями и бью эксплодами.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.