Reputation: 1
could someone explain me why I can not get the data from that array? My echo only returns "array". where I'm going wrong?
<?php
$people = array(
array("name"=>"Bob","age"=>8,"colour"=>"red"),
array("name"=>"Greg","age"=>12,"colour"=>"blue"),
array("name"=>"Andy","age"=>5,"colour"=>"purple"));
foreach($people as $vperson => $person){
echo $person;
}
?>
Upvotes: 0
Views: 87
Reputation: 945
Use this to display key and equivalent value
foreach($people as $pe)
{
foreach($pe as $key => $person)
{
echo $key.' : '.$person.' </br> ';
}
}
Upvotes: 0
Reputation: 23958
Because, your are printing array with echo
.
You can print the array like:
<?php
$people = array(
array("name"=>"Bob","age"=>8,"colour"=>"red"),
array("name"=>"Greg","age"=>12,"colour"=>"blue"),
array("name"=>"Andy","age"=>5,"colour"=>"purple"));
foreach($people as $vperson => $person){
echo '<pre>';
print_r($person);
echo '</pre>';
echo $name = $person['name'];
echo $age = $person['age'];
echo $colour = $person['colour'];
}
Upvotes: 0
Reputation: 268
Well as you said you have an array, your variable $person is also an array so you can't just make echo on that. You can access values by the names "age, name and colour".
Try this:
<?php
$people = array(
array("name"=>"Bob","age"=>8,"colour"=>"red"),
array("name"=>"Greg","age"=>12,"colour"=>"blue"),
array("name"=>"Andy","age"=>5,"colour"=>"purple"));
foreach($people as $vperson => $person){
echo $name = $person['name'];
echo $age = $person['age'];
echo $colour = $person['colour'];
echo "<br>";
}
?>
Upvotes: 2