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