Autor Zpráva
unlucky
Profil
mam v sessionu data:

$total=3
$_SESSION['a'][1]=jedna;
$_SESSION['a'][2]=dva;
$_SESSION['a'][3]=tri;

a potreboval bych cyklem zjistit index pole s hodnotou "dva". S dvourozmernym polem bych prochazel takto
foreach($item as $key=>$value)
    {
    if($value=="dva"){$vysledek=$key;}
    }

s dvojrozmernym polem si pak uz nevim rady
Medvídek
Profil
unlucky:
Pokud je první klíč stejný, tak takto:

foreach($item['a'] as $key=>$value){ 
    if($value=="dva"){$vysledek=$key;} 
}
Tori
Profil
unlucky:
$klic = array_search('dva', $_SESSION['a']);
unlucky
Profil
obe moznosti funguji skvele. Jaka je lepsi/rychlejsi?
Stano
Profil
na to prve pole sa dá použiť http://php.net/manual/en/function.array-search.php

na viac rozmerne pole skus:
function vyhladaj($co, $array, $key_full = ''){
foreach($array as $key => $row){
if(is_array($row)){ vyhladaj($co, $row, $key_full . '>' . $key);}
else{
if($row == $co){
return $key_full . '>' . $key;
}}}

píšem to len tak z hlavy na dobru noc tak tam bude najskôr asi dosť chýb

edit:zmeraj ktoré riešenie je rýchlejšie http://www.php.net/manual/en/function.microtime.php
Medvídek
Profil
Tori:
Vidíš to, neznal jsem, díky za osvětu :)

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