Переход к следующему ключу в массиве - PullRequest
6 голосов
/ 10 марта 2010

Давайте предположим, что я знаю, что есть ключ "twoVal", но я не знаю, что после него. Как мне перейти к следующему ключу по этому вопросу? Должен ли я знать положение клавиши «twoVal»? Или есть другой путь?

$arr = array('Cool Viski' => array('oneVal' => '169304',
                                   'twoVal' => '166678',
                                   'threeVal' => '45134'));

Ответы [ 3 ]

17 голосов
/ 10 марта 2010
$keys = array_keys($arr['Cool Viski']);
$position = array_search('twoVal', $keys);
if (isset($keys[$position + 1])) {
    $keyAfterTwoVal = $keys[$position + 1];
}
1 голос
/ 10 марта 2010
$arr = array('Cool Viski' => array('oneVal' => '169304',
                                   'twoVal' => '166678',
                                   'threeVal' => '45134'));
foreach($arr as $s=>$v){
    foreach($v as $val){
        if(key($v) == "twoVal"){
            $t=next($v);
            print "next key: ".key($v)."\n";
            print "next key value is: ".$t."\n";;
        }else{
            next($v);
        }
    }
}
0 голосов
/ 10 марта 2010

Возможно, вас заинтересуют различные функции поиска в массиве , , но , если только массив PHP не проиндексирован только целыми числами, и нет гарантии порядка ключей.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...