Autor Zpráva
jefitto44
Profil
Mám určité pole viacrozmerné pole, ktoré prechádzam vo foreachi. Problém je ten, že v prvom foreachi potrebujem položky až z ďalšej dimenzie poľa. Asi tomu ťažko porozumieť, tak uvediem príklad

Mám pole

array 1 =>
array 493 =>
a => 22,
b => 24,
c => 569,

Pri prvom foreachi sa zbavím array 1 => ... a ostane mi array 493 => a => 22, ...

Ja však už v tomto prvom foreachi potrebujem použiť položku c => 569 (napríklad).,

Teoreticky by som teda potreboval niečo takéto:

foreach($array as $key => $val) {
$val[493]["c"];
}

Toto aj funguje samozrejme, problém nastane vtedy, ak index druhej dimenzie poľa nebude mať číslo 493, tie čísla sa totiž ťahajú z DB, takže je takmer pravidlo, že 493 tam zrovna nebude.

Ja teda hľadám nejaký spôsob/funkciu, ako by som to mohol vybrať prvú položku poľa bezohľadu na jeho index.

Tzn, ak by existovalo niečo ako
$val[first_array_item()]["c"]

Existuje niečo takéto, alebo niečo podobné? Ďakujem za help ;)
Taps
Profil
jefitto44:
zkus něco takového
<?
$file = array(493 => array('a' => 22, 'b' => 6, 'c' => 70));

foreach($file as $pole){
    echo reset($pole);
}
?>
jefitto44
Profil
Vráti mi to nesprávne hodnoty... :O
Taps
Profil
jefitto44:
Funkce reset vrátí první položku z pole, pokud chceš poslední položku tak místo reset použij funkci end
jefitto44
Profil
Ja som ale nepotreboval položku, ale index.

Napokon mi pomohla funkcia

key();
blaaablaaa
Profil
jefitto44:
utfg: current(array_keys($array))

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0