PHP: Стать ключевыми от массива?

Я уверен, что это супер легко и встроенная функция в PHP, но я еще не видел его.

Вот то, что я делаю в настоящий момент:

foreach($array as $key => $value) {
    echo $key; // Would output "subkey" in the example array
    print_r($value);
}

Я мог сделать что-то как следующее вместо этого и таким образом сохранить меня от записи "$key => $value" в каждом цикле foreach? (psuedocode)

foreach($array as $subarray) {
    echo arrayKey($subarray); // Will output the same as "echo $key" in the former example ("subkey"
    print_r($value);
}

Спасибо!

Массив:

Array
(
    [subKey] => Array
        (
            [value] => myvalue
        )

)
53
задан aksu 1 February 2014 в 07:48
поделиться

4 ответа

Вы можете использовать key():

<?php
$array = array(
    "one" => 1,
    "two" => 2,
    "three" => 3,
    "four" => 4
);

while($element = current($array)) {
    echo key($array)."\n";
    next($array);
}
?>
64
ответ дан 7 November 2019 в 08:20
поделиться

Используйте функцию array_search .

Пример с php.net

$array = array(0 => 'blue', 1 => 'red', 2 => 'green', 3 => 'red');

$key = array_search('green', $array); // $key = 2;
$key = array_search('red', $array);   // $key = 1;
40
ответ дан 7 November 2019 в 08:20
поделиться

$array = array(0 => 100, "color" => "red");
print_r(array_keys($array));

14
ответ дан 7 November 2019 в 08:20
поделиться

Если это цикл foreach, как вы описали в вопросе, то использование $key => $value быстро и эффективно.

6
ответ дан 7 November 2019 в 08:20
поделиться
Другие вопросы по тегам:

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