我的问题似乎很基本,但我无法解决它。我尝试将多维数组中的第二个值替换为另一个数组,但是我在foreach循环中将其松散。一切都只是一个例子。因此,失踪报价等失败发生在这里。原始是一个类中的函数。谢谢!
这就是配置数组的样子:
$config_arr = array(
'foo_a' => array( 'foo_a_singular', 'foo_a_plural', array('assign_me_aa', 'assign_me_ab') );
'foo_b' => array( 'foo_b_singular', 'foo_b_plural', 'assign_me_b')
);
这是如何处理的:
function process_foo( $config_arr ) {
foreach ( $config_arr as $config_data ) {
$replacement_data = array( 'bar_me', 'bar_her', 'bar_some' );
$config_data[1] = $replacement_data;
var_dump($config_data);
}
print_r( $config_arr );
}
var_dump
向我显示我替换/添加了数据,但print_r
告诉我没有发生任何事情。
答案 0 :(得分:1)
我会在一分钟内了解这个答案,但是范围对于config_data是本地的,或者你只能阅读而不能写。我以前遇到过这个问题。你必须在循环中使用实际的config_arr,这可以通过计数器变量来完成。其他人可能知道更好/不同的方式来做到这一点。
答案 1 :(得分:0)
重点是我尝试将数字索引$config_data[1]
用于关联数组:'foo_b' => array( 'foo_b_singular', 'foo_b_plural', 'assign_me_b')
,这将永远不会起作用。您必须使用key()
或array_keys()
等内容。