повторите ключ и значение массива без и с циклом

Это - массив, который я имею

<?php
$page['Home']='index.html';
$page['Service']='services.html';
?>

Как я добираюсь для повторения чего-то вроде этого для человека одного как

Home is at index.html

и снова как я могу сделать это через цикл и повторить все?

23
задан esafwan 4 August 2010 в 14:50
поделиться

5 ответов

foreach($page as $key => $value) {
  echo "$key is at $value";
}

Для версии "без цикла" я просто спрошу "почему?"

67
ответ дан 29 November 2019 в 00:39
поделиться
function displayArrayValue($array,$key) {
   if (array_key_exists($key,$array)) echo "$key is at ".$array[$key];
}

displayArrayValue($page, "Service"); 
3
ответ дан 29 November 2019 в 00:39
поделиться

Если вы не должны использовать цикл (почему?), вы можете использовать array_walk ,

function printer($v, $k) {
   echo "$k is at $v\n";
}

array_walk($page, "printer");

См. http://www.ideone.com/aV5X6 .

7
ответ дан 29 November 2019 в 00:39
поделиться

для первого вопроса

$key = 'Home';
echo $key." is at ".$page[$key];
5
ответ дан 29 November 2019 в 00:39
поделиться

Без цикла, просто ради удовольствия ...


Вы можете преобразовать массив в неассоциативный, выполнив:

$page = array_values($page);

А затем доступ к каждому элементу по его индексу, отсчитываемому от нуля:

echo $page[0]; // 'index.html'
echo $page[1]; // 'services.html'

Или вы можете использовать немного более сложную версию:

$value = array_slice($page, 0, 1);

echo key($value); // Home
echo current($value); // index.html

$value = array_slice($page, 1, 1);

echo key($value); // Service
echo current($value); // services.html
11
ответ дан 29 November 2019 в 00:39
поделиться
Другие вопросы по тегам:

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