Как циклично выполниться через ассоциативный массив и получить ключ? [дубликат]

Этот вопрос уже имеет ответ здесь:

Мой ассоциативный массив:

$arr = array(
   1 => "Value1",
   2 => "Value2",
   10 => "Value10"
);

Использование следующего кода, $v заполнено $arrзначения

 foreach($arr as $v){
    echo($v);    // Value1, Value2, Value10
 }

Как я добираюсь $arrключи вместо этого?

 foreach(.....){
    echo($k);    // 1, 2, 10
 }
163
задан Foreever 11 August 2014 в 05:37
поделиться

7 ответов

Вы можете сделать:

foreach ($arr as $key => $value) {
 echo $key;
}

Как описано в PHP docs.

.
317
ответ дан 23 November 2019 в 21:16
поделиться
foreach($array as $k => $v)

Где $k - ключ, а $v - значение

Или, если вам просто нужны ключи, используйте array_keys()

.
10
ответ дан 23 November 2019 в 21:16
поделиться

О, я нашел это в PHP manual.

foreach ($array as $key => $value){
    statement
}

Ключ текущего элемента будет присвоен переменной $key в каждом цикле.

1
ответ дан 23 November 2019 в 21:16
поделиться
 foreach($arr as $key=>$value){
    echo($key);    // key
 }
0
ответ дан 23 November 2019 в 21:16
поделиться

Используйте $key => $val для получения ключей:

<?php

$arr = array(
    1 => "Value1",
    2 => "Value2",
    10 => "Value10",
);

foreach ($arr as $key => $val) {
   print "$key\n";
}

?>
1
ответ дан 23 November 2019 в 21:16
поделиться

Если вы используете array_keys(), то PHP выдаст вам массив, заполненный только ключами:

$keys = array_keys($arr);
foreach($keys as $key) {
    echo($key);
}

В качестве альтернативы вы можете сделать так:

foreach($arr as $key => $value) {
    echo($key);
}
65
ответ дан 23 November 2019 в 21:16
поделиться

Следующее позволит вам получить и ключ, и значение одновременно.

foreach ($arr as $key => $value)
{
  echo($key);
}
4
ответ дан 23 November 2019 в 21:16
поделиться
Другие вопросы по тегам:

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