Autor | Zpráva | ||
---|---|---|---|
aqeqweqwe Profil * |
#1 · Zasláno: 8. 7. 2013, 02:38:11
Ahoj mam toto pole:
Array ( [test] => auto [test2] => Array ( [x] => traktor [y] => motorka ) ) a potreboval bych docilit vypisu: test = auto test2.x = traktor test2.y = motorka jak to udelam? :) |
||
Taps Profil |
aqeqweqwe:
<?php $retez=''; $pole=array('test' => 'auto', 'test2' => Array ( 'x' => 'traktor', 'y' => 'motorka' ) ); foreach($pole as $t => $value){ if(!is_array($value)){ $retez.= $t.'='.$value.'<br>'; } else{ foreach($value as $pole2 =>$index){ $retez.= $t.'.'.$pole2. '=' .$index.'<br>'; } } } echo $retez; ?> |
||
Tori Profil |
Anebo rekurzivní funkce (pro libovolnou hloubku zanoření):
$pole = array('test' => 'auto', 'test2' => array('x' => 'traktor', 'y' => 'motorka')); function vypisPole($pole, $rodic = '') { $vystup = ''; foreach ($pole as $klic => $hodnota) { if (is_array($hodnota)) $vystup .= vypisPole($hodnota, ($rodic ? "$rodic.$klic" : $klic)); // opraveno else $vystup .= "<br>" . ($rodic ? $rodic.'.' : '') . "$klic = $hodnota"; } return $vystup; } echo vypisPole($pole); |
||
juriad Profil |
Trochu univerzalnější přístup na motivy Torina řešení.
Funkce zplosti udělá z vícerozměrného pole jednorozměrné; jeho klíče budou klíče jednotlivých zanořených polí oddělené oddělovačem. $pole = array('test' => 'auto', 'test2' => array('x' => 'traktor', 'y' => 'motorka')); function _zplosti($pole, $prefix, $oddelovac, &$vysledek) { foreach ($pole as $klic => $hodnota) { if (is_array($hodnota)) _zplosti($hodnota, $prefix . $klic . $oddelovac, $oddelovac, $vysledek); else $vysledek[$prefix . $klic] = $hodnota; } } function zplosti($pole, $oddelovac) { $vysledek = array(); _zplosti($pole, '', $oddelovac, $vysledek); return $vysledek; } $pole2 = zplosti($pole, '.'); foreach($pole2 as $klic => $hodnota) { echo $klic . ' = ' . $hodnota . PHP_EOL; } |
||
aqeqweqwe Profil * |
Diky mozna bude pro me lepsi to udelat trochu jinak.
Jak bych z toho puvodniho pole: Array ( [test] => auto [test2] => Array ( [x] => traktor [y] => motorka ) ) udelal pole: Array ( [test] => auto [test2.x] => traktor [test2.y] => motorka ) ) |
||
juriad Profil |
#6 · Zasláno: 8. 7. 2013, 10:43:04
aqeqweqwe:
To přesně dělá moje funkce zplosti :) |
||
aqeqweqwe Profil * |
#7 · Zasláno: 8. 7. 2013, 11:35:04
juriad:
super moc diky :) |
||
Časová prodleva: 11 let
|
0