PHP foreach在multidimentional数组中返回最后一行

Tal*_*boY 5 php arrays

我正在尝试从多维数组中获取用户值

$array = array();

$array["id"] = "1";
$array["name"] = "name1";
$array["country"] = "country1";

$array["id"] = "2";
$array["name"] = "name2";
$array["country"] = "country2";

$array["id"] = "3";
$array["name"] = "name3";
$array["country"] = "country3";

$array["id"] = "4";
$array["name"] = "name4";
$array["country"] = "country4";

foreach($array as $e){
    print_r($e);
}
Run Code Online (Sandbox Code Playgroud)

这回我4name4country4

我需要获取像这样的行

foreach($array as $e){
    $id=$e['id'];
    $name=$e['name'];
    $country=$e['country'];
    echo $id.'/'.$name.'/'.$country.'<br>';
}
Run Code Online (Sandbox Code Playgroud)

但这给了我错误,因为Illegal string offset 'id' 从我对数组的理解,这应该返回所有值,请看为什么这个简单的数组不工作,并建议任何方式来做到这一点

Sou*_*ose 3

目前您正在覆盖keys。需要key正确添加 s。你必须像这样构建数组 -

$array[0]["id"] = "1";
$array[0]["name"] = "name1";
$array[0]["country"] = "country1";

$array[1]["id"] = "2";
$array[1]["name"] = "name2";
$array[1]["country"] = "country2";
Run Code Online (Sandbox Code Playgroud)

或者

$array = array(
   0 => array('id' => 1, 'name' => 'name1', 'country' => 'country1'),
   1 => array('id' => 2, 'name' => 'name2', 'country' => 'country2'),
);
Run Code Online (Sandbox Code Playgroud)