Алгоритм для многомерного масива

WMix

герр M:)ller
Партнер клуба
Алгоритм для многомерного масива

PHP:
function MyFunkt($daten)
{ //FORMAT $daten[0...][rows]=value

  while (list ($step,$array) = each ($daten))
  {
    while (list ($key,$value) = each ($array))
    {
  
    }
  }
  return $daten // FORMAT $daten[sp]=rows 
}
итак вопрос
заходит в функцию масив
масив надо пройти и вывести
масив всех индексов [rows] без повторения

ps: может быть так что в $daten[0] не все индексы rows
те.
$xxx[0]["name"]="Witalij";
$xxx[1]["id"]=23;
$xxx[1]["name"]="tony2000"; //в дате $daten[0] нет ключа/индекса [id]
...
MyFunkt($xxx)
вывод array("id","name");
Моя голова треснит щас =)
 

Demiurg

Guest
что нужно вывести ? или функция должна что то вернуть ?
 

WMix

герр M:)ller
Партнер клуба
да функция должна вернуть array("id","name");
 

tony2001

TeaM PHPClub
рекурсивно обходи.
функция должна возвращать массив результатов.
внутри нее - foreach, в нем проверяешь является ли элемент массивом, если да - эту же функцию используешь для его обработки.
 

WMix

герр M:)ller
Партнер клуба
я думаю
пока спасибо ан RomikChef

tony2001 ууу не сразу понял но тоже мысль
2des и тогда какой ид ему присвоить?
array(id=>'');
 

WMix

герр M:)ller
Партнер клуба
нет индексы только
$y=MyFunkt($xxx)

$y[0]="id";
$y[1]="name";
 

Demiurg

Guest
если я правильно понял твою задачу :
$arr = array();
foreach($daten as $subarr)
$arr = array_unique(array_merge($subarr , $arr));
 

WMix

герр M:)ller
Партнер клуба
2 Demiurg
да чётко хотя не то
$arr = array();

foreach($daten as $subarr)
$arr = array_keys(array_unique(array_merge($subarr , $arr)));

вот так то что хочу но както навороченно

[0] string( id )
[1] string( name )
[2] integer( 0 ) //это не втему
 

.des.

Поставил пиво кому надо ;-)
PHP:
function un($daten) {
    $arr=array();
    foreach($daten as $v)
       $arr+=$v;
    return array_keys($arr);
}//f un
 

Demiurg

Guest
>[2] integer( 0 ) //это не втему
а у тебя там нет нигде такого ключа ?
 

WMix

герр M:)ller
Партнер клуба
.des. да правильно и чисто просто зупер //правдо у меня с логикой не очень щас разберусь
спасибо

>а у тебя там нет нигде такого ключа ?
я и говорю не в тему
 

WMix

герр M:)ller
Партнер клуба
Я НЕ ВЪЕДУ КАК ЭТО РАБОТАЕТ
$arr+=$v; ЭТО ЧТО ИЛИ КАК??
 

WMix

герр M:)ller
Партнер клуба
а это что значит $arr+=$v; к масиву???

$v=12;
$arr=array();
$arr+=$v;

Fatal error: Unsupported operand types in ....
 

.des.

Поставил пиво кому надо ;-)
ты в школе не учился? там еще в начальной школе объясняют разницу что с чем можно складывать. И что на что делить.
 

WMix

герр M:)ller
Партнер клуба
ну я понимаю почему Fatal error:
я твой алгоритм не пойму $v это число да?
 

.des.

Поставил пиво кому надо ;-)
что непоймешь .. я прохожусь по массиву и складываю все в один.. совпадающие ключи сами себя заменят.

array("id"=>1,"name"=>"tony")+array("name"=>"WMix")=
array("id"=>1,"name"=>"WMix")
понятно?

$v это не число! а твои подмассивы в массив $daten
 
Сверху