Получить предыдущий ключ массива и значение из определенного ключа [дубликат]

Чтобы использовать асинхронные операции на игровой площадке Xcode, вам необходимо установить needsIndefiniteExecution на true.

Добавьте это вверху вашего кода:

Swift 2

import XCPlayground
XCPlaygroundPage.currentPage.needsIndefiniteExecution = true

Swift 3

import PlaygroundSupport
PlaygroundPage.current.needsIndefiniteExecution = true
6
задан djSk 10 March 2010 в 03:33
поделиться

3 ответа

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

-1
ответ дан Alan Storm 19 August 2018 в 03:40
поделиться
  • 1
    Взято из php.net/manual/en/language.types.array.php : An array in PHP is actually an ordered map. Я бы сказал, что это гарантия по порядку ключей. – Jasper 6 November 2012 в 18:31
  • 2
    Кроме того, на самом деле это не способ решить данную проблему, потому что вам сначала нужно получить внутренний указатель на элемент с помощью известного ключа, который не может быть эффективно выполнен, насколько я могу видеть из того, что вы с этим связано. – Jasper 6 November 2012 в 18:34
$keys = array_keys($arr['Cool Viski']);
$position = array_search('twoVal', $keys);
if (isset($keys[$position + 1])) {
    $keyAfterTwoVal = $keys[$position + 1];
}
17
ответ дан deceze 19 August 2018 в 03:40
поделиться
  • 1
    Это разумно! – Nirmal 10 March 2010 в 03:39
  • 2
    Я думаю, было бы более разумно делать то, что OP пытается сделать другим способом, чем манипулирование массивными массивами, но он отвечает на вопрос. :) – deceze♦ 10 March 2010 в 03:41
  • 3
    Это именно то, что я пытался сделать, и намного чище. Спасибо, что поделились этим. – spyke01 12 August 2017 в 01:08
$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);
        }
    }
}
1
ответ дан ghostdog74 19 August 2018 в 03:40
поделиться
Другие вопросы по тегам:

Похожие вопросы: