Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP:在传递到函数的数组中使用变量_Php_Arrays_Function - Fatal编程技术网

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')