PHP:在传递到函数的数组中使用变量
是否有可能执行类似于以下的操作,我已经尝试过,但无法实现此操作的任何变体:PHP:在传递到函数的数组中使用变量,php,arrays,function,Php,Arrays,Function,是否有可能执行类似于以下的操作,我已经尝试过,但无法实现此操作的任何变体: $hello_all = array($str . ' World', $str . ' Universe'); function combine(&$arr){ $str = 'Hello'; print_r($arr); } combine($hello_all); 我想得到这样的东西: Array ( [0] => Hello World [1] => Hello Universe
$hello_all = array($str . ' World', $str . ' Universe');
function combine(&$arr){
$str = 'Hello';
print_r($arr);
}
combine($hello_all);
我想得到这样的东西:
Array ( [0] => Hello World [1] => Hello Universe )
$hello_all = array('World', 'Universe');
function combine($arr, $str){
foreach($arr as $key=>$value){
$new[] = $str.$value;
}
return $new;
}
$print = combine($hello_all, 'Hello ');
print_r($print);
?>
有更好的方法吗?我可能会这样做
$hello_all = array('World', 'Universe');
function combine($arr, $str){
foreach($arr as $key=>$value){
$new[] = $str.$value;
}
return $new;
}
$print = combine($hello_all, 'Hello ');
print_r($print);
?>
是的,在这种情况下是这样的:
$hello_all = array('World', 'Universe');
function combine($arr, $str){
foreach($arr as $key=>$value){
$new[] = $str.$value;
}
return $new;
}
$print = combine($hello_all, 'Hello ');
print_r($print);
?>
$hello_all = array('World *word*', 'Universe *word*', '*word* mom', 'Hey santa! *word* to you!');
function combine($arr, $str, $find){
foreach($arr as $key=>$value){
$new[] = str_replace($find, $str, $value);
}
return $new;
}
$print = combine($hello_all, 'Hello', '*word*');
print_r($print);
?>
是的,但不是那样,而是相反。凝聚是一种功能。你真正想要实现什么?我的意思是,“你好”不会被硬编码,对吗?不,不是硬编码。这是另一个变量,但我想将示例简化为我所质疑的部分。当然,您可以使用preg_replace和类似于
array(“#replace#World”)
的方法进行某种模板制作,但这比Patrick的解决方案要慢得多是的,但请将print_r()放在函数之外,让函数返回新数组。只是为了我的眼睛……忘记了回报是的,我同意。我做了更改,因为打印不再在功能中,这是有意义的。我想我把我的例子简化得太多了。但数组将更接近于此:$hello\u all=array('Hidey ho'.$str.'World','wecome in peace'.$str.'Universe')代码>