//below example now works thanks to Alexander.
我正在尝试使用array_walk_recursive,但我无法获得要更改的数组中的原始值。我到底错在了什么?
public function setConstants()
{
array_walk_recursive($this->_arr, function(&$item, $key2){
$constants = get_defined_constants(true);
foreach($constants["user"] as $key => $value)
{
if (strstr($item, $key)){
$item = str_replace($key,$value,&$item); //EDITED FOR VALIDITY, WORKS.
}
}
});
return $this->_arr;
}
我试图使用array_walk_recursive遍历多维数组“_arr”,并且对于常量[user](也是数组)的每个常量,我想在_arr中替换等效值,如果字符串匹配常数名称
答案 0 :(得分:2)
我认为您没有适当地分配替换值。
$item = str_replace($key,$value,$item);
而不是:
str_replace($key,$value,&$item);
应该够了。