Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Выборка из строки и формирования массива

82K
26 апреля 2012 года
Stalsy
1 / / 26.04.2012
Есть строка
name::name1:info1||name2:info2
status::name1:admin||name2

Задача построить массив вида

array (
'name1' =>
array (
'info' => 'info1',
'status' => 'admin',
),
'name2' =>
array (
'info' => 'info2',
),
21K
28 апреля 2012 года
evil_rabbit
60 / / 27.08.2008
Регулярные выражения помогут. Только структура начальной строки немного странная и, как мне кажется, нелогичная.
82K
30 мая 2012 года
IOpuk
8 / / 30.05.2012
Код:
$strs = explode("\n",'name::name1:info1||name2:info2
status::name1:admin||name2:user'
);
$names_str = str_replace('name::','',$strs[0]);
$status_str = str_replace('status::','',$strs[1]);
$names = explode('||',$names_str);
foreach($names as $name){
    $values = explode(':',$name);
    $array[$values[0]]['info'] = $values[1];
}
$status = explode('||',$status_str);
foreach($status as $val){
    $values = explode(':',$val);
    $array[$values[0]]['status'] = $values[1];
}

print_r($array);
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог