Страницы

Поиск по вопросам

среда, 18 декабря 2019 г.

php взять первый ключ массива

#php


получаю многомерный массив

  [34296]=>
      array(2) {
        [21]=>
        array(5) {
          ["id"]=>
          int(21)
          ["val"]=>
          string(4) "4.00"
          ["per"]=>
          int(2)
          ["type"]=>
          string(5) "float"
          ["rec"]=>
          int(28106)
        }
        [49]=>
        array(5) {
          ["id"]=>
          int(49)
          ["val"]=>
          string(19) "2015-12-01 13:02:23"
          ["per"]=>
          NULL
          ["type"]=>
          string(9) "timestamp"
          ["rec"]=>
          int(28105)
        }
      } 


как отсуда выдернуть первый ключ (34296)
    


Ответы

Ответ 1



Взять массив ключей и от него взять первый элемент: $keys = array_keys($my_array); $firstKey = $keys[0]; В PHP7.3+ появилась новая функция $firstKey = array_key_first($my_array);

Ответ 2



Как и всегда, при разборе массива есть key и value. В данном случае, если использовать проход по массиву через foreach($array as $key=>value), то в первой итерации будет 34296 а в value массив. Опять же, никто не отменял функцию key($array) которая возвращает значение ключа массива.

Ответ 3



reset($array); echo key($array);

Ответ 4



$arr = array( "34296"=> array( "21"=> array( "id"=>21, "val"=>"4.00", "per"=>2, "type"=>"float", "rec"=>28106 ), "49"=> array( "id"=>49, "val"=>"2015-12-01 13:02:23", "per"=>NULL, "type"=>"timestamp", "rec"=>28105 ) ) ); printf("key_arr = %s", key($arr)); Результат: key_arr = 34296

Комментариев нет:

Отправить комментарий