|
|
|
| перелистал форум вроде не нашел такого.
Имеется массив
Array
(
[title|3] => Текст
[upd|3] => on
[autor|3] => user1
[title|2] => Текст
[day|2] => 5
[autor|2] => user2
[upd|11] => on
[day|11] => 12
[autor|11] => user3
)
|
как его разбить и получить двумерный массив который содержит новые массивы
Array (
[3] => Array (
[title|3] => Текст
[upd|3] => on
[autor|3] => user1
)
[2] => Array (
[title|2] => Текст
[day|2] => 5
[autor|2] => user2
)
[11] => Array (
[upd|11] => on
[day|11] => 12
[autor|11] => user3
)
)
|
количество элементов в многомерном массиве может быть разное,
определяюшее значение для подстановки в новый массив это цифра в ключе после разделителя | , она же будет ключем для массива внутри двумерного массива. | |
|
|
|
|
|
|
|
для: aibolit
(16.10.2008 в 21:16)
| | ну и в чем сложность? включить мозг?
<?
foreach($ar as $k => $v)
$new_ar[current(next(explode('|',$k)))] [$k] = $v;
?>
|
как то так. | |
|
|
|
|
|
|
|
для: STEVER
(16.10.2008 в 21:42)
| | прежде чем комуто советовать включать мозг может попробуешь включить свой, или хотя бы проверять то что пишешь. | |
|
|
|
|
|
|
|
для: aibolit
(16.10.2008 в 21:16)
| | решил задачу - может кому то пригодиться
и может подскажет кто более рациональное решение???
<?
foreach ($_POST as $key=>$val)
{
$curr=explode("|",$key);
if ($curr[1]==$next[1])
{
$mass[$curr[1]][$curr[0]]=$val;
}
else
{
$mass[$curr[1]] = array($curr[0]=>$val);
}
$next=explode("|",$key);
}
?>
|
| |
|
|
|