Autor Zpráva
Anonymní
Profil *
Zdravím, existuje v PHP již zabudovaná funkce vracející hodnotu n-tého prvku v poli? Zřejmě jsem slepý...;)
Hugo
Profil
print $pole[N] ?
gaminn
Profil *
To nebude ono:

$array = array('a' => 10, 'b' => 20, 'c' => 30);
Hugo
Profil
Tak potom to můžeš projet pomocí foreach a zastavit na daném prvku.
petr6
Profil
$klic=array_keys($array);
$array[$klic[N]];
kde za N dosad cislo
gaminn
Profil *
Jasně, je jednoduché si vytvořit vlastní funkci. Ale ptám se na funkci už zabudovanou, poslední dobou se mi stává, že si pro práci s poli tvořím až moc funkcí, které již, byť částečně, existují. Do manuálu jsem se samozřejmě díval, zde se chci jen ujistit, že nejsem slepý (popř. jsem;)) a taková funkce opravdu není.
gaminn
Profil *
petr6

Díky, já bych si vlastní funkci tvořil složitě pomocí foreach, tohle je mnohem lepší.
petr6
Profil
Akorat pozor, ze to zacina pocitat od nuly, takze by tam melo byt $array[$klic[N-1]];
gaminn
Profil *
Ok, kdyby někdo tu funkci potřeboval:

function arrayItem($array, $sequence) {
if(!is_array($array)) {
trigger_error('arrayItem() : The first argument should be an array', E_USER_WARNING);
return false;
}

$sequence = (int) $sequence;

if($sequence < 0) {
$array = array_reverse($array);
$sequence = abs($sequence) - 1;
}

$key = array_keys($array);
if(isset($key[$sequence])) return $array[$key[$sequence]];

return false;
}
gaminn
Profil *

function arrayItem($array, $sequence) {
if(!is_array($array)) {
trigger_error('arrayItem() : The first argument should be an array', E_USER_WARNING);
return false;
}

$sequence = (int) $sequence;

if($sequence < 0) {
$array = array_reverse($array);
$sequence = abs($sequence) - 1;
}

$key = array_keys($array);
if(isset($key[$sequence])) return $array[$key[$sequence]];

return false;
}
Toto téma je uzamčeno. Odpověď nelze zaslat.