Autor Zpráva
Petr1234
Profil *
Cau,

mam pole:

$pole = array (23,44,76);


a promenou:

$var = 44;


Potreboval bych zjistit, jaky index v poli $pole ma jedna z jeho hodnot jako promena $var.

(zde je jasne, ze to bude 1 - prostredni hodnota).

Diky
Taps
Profil
Petr1234
nepomůže ti print_r($pole);
kajaman
Profil
foreach($pole as $key => $value){
if($value == $var) echo $key;
}
kajaman
Profil
hele, teď jsem našel príma funkci array_search takže asi raději tak... :-)
Jack Finger
Profil
Petr1234
možná by mohlo pomoct i array_key_exists ;o)
wrestler
Profil
tak, jak rikal kajaman

$pozice = array_search($var, $pole);
BetaCam
Profil
Jack Finger

Jenom pro informaci array_key_exists zaprvé hledá logicky v klíčích a ne v hodnotách a zadruhé i kdyby hledal v hodnotách ( in_array() ) tak stejně vrátí pouze TRUE pokud by byla nalezena shoda nic víc.
HamStet
Profil *
Přesně tohle by snad měla dělat funkce array_keys, pokud jsem dobře pochopil manuál:

array array_keys ( array $input [, mixed $search_value [, bool $strict]] )

array_keys() vrací klíče, numerické i textové, z pole input. 

Pokud je přítomen volitelný argument search_value, vrací pouze klíče této hodnoty. Jinak vrací všechny klíče z pole input. 


Akorát výstup není jedna hodnota, ale pole, protože výsledek nemusí být jednoznačný. Nicméně stačí vzít z tohoto pole prvý člen (= prvý výskyt hledané hodnoty)...

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: