PHP:如何从 foreach 循环内部修改数组(通过引用)

标签 php arrays multidimensional-array

Possible Duplicate:
How to modify an array's values by a foreach loop?

为什么这不起作用?

$user_list_array = array(
    1 => array( "first_name" => "Jim" ),
    2 => array( "first_name" => "Bob" )
)

foreach ($user_list_array as $item ) {
    echo $item["first_name"];
    $item["last_name"] = "test";
} 

var_dump($user_list_array );

我可以找回“first_name”,但无法添加“last_name”;

最佳答案

您正在修改 $item,它是 $user_list_array 相关条目的副本

两者之一: (修改原数组)

foreach ($user_list_array as $key => $item ) { 
    echo $item["first_name"]; 
    $user_list_array[$key]["last_name"] = "test"; 
} 

或: (引用)

foreach ($user_list_array as &$item ) { 
    echo $item["first_name"]; 
    $item["last_name"] = "test"; 
} 
unset($item);

关于PHP:如何从 foreach 循环内部修改数组(通过引用),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12652877/

相关文章:

c# - 如何比较多维字符串数组?

php - 如何将 php 变量从我的 select 传递到 jquery?

javascript - 使用 Javascript 或 PHP 打乱表

javascript - 将 javascript 变量存储到数组中

c - C函数中的多维char数组

ios - 如何在swift中对多维数组进行排序?

php - 将字符串转换为变量名

java - 客户端 HTTP Post 到外部站点

Java 数组从另一个类访问它并用作组合框

c - 即使出现错误后程序仍继续运行