Цикл Foreach с использованием идентификаторов ключей в одном массиве

Я использую ключевые идентификаторы в своем цикле foreach, чтобы контролировать, как я повторяю строки рядом с данными. Например

Массив

  $array = array("name" => "Jim", "age" => 34);

array(2) {
  ["name"]=> string(3) "Jim"
  ["age"]=>  int(34)
}

Петля

<?php
 foreach ($array as $value) {

  echo "Name " .$value["name"]."</br>
    Age ".$value["age"] . "</br>";

 }
?>

Результат, который я получаю

Name J
Age J
Name
Age 

Желаемый результат

Name Jim 
Age 34

person Matthew Underwood    schedule 03.10.2012    source источник


Ответы (4)


Почему вы используете функцию foreach? Если вы удалите это, вы получите именно то, что хотите. И вы измените $value на $array.

person thatidiotguy    schedule 03.10.2012

Избавьтесь от цикла foreach:

echo "Name " . $array["name"] . "</br>\n"
   . "Age "  . $array["age"]  . "</br>\n";

Или, если вы хотите зациклиться на нескольких людях, вам нужно создать вложенный массив массивов.

$people = array(
    array("name" => "Jim", "age" => 34),
    array("name" => "Bob", "age" => 42)
);

foreach ($people as $person) {
    echo "Name " . $person["name"] . "</br>\n"
       . "Age "  . $person["age"]  . "</br>\n";
}
person John Kugelman    schedule 03.10.2012

Вы можете сделать это без цикла for...

<?php

  $array = array("name" => "Jim", "age" => 34);
  echo "Name " .$array["name"]."</br>
    Age ".$array["age"]. "</br>";

 }

?>
person Chris    schedule 03.10.2012

вам не нужен цикл foreach для того, что вы пытаетесь выполнить, это будет так же просто, как:

$array = array("name" => "Jim", "age" => 34);

echo "Name " . $array["name"] . "</br>";
echo "Age " . $array["age"];
person MLeFevre    schedule 03.10.2012