替换多维数组中的数组值 - 基本Q.

时间:2011-02-02 07:05:52

标签: multidimensional-array replace

我的问题似乎很基本,但我无法解决它。我尝试将多维数组中的第二个值替换为另一个数组,但是我在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告诉我没有发生任何事情。

2 个答案:

答案 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()等内容。