在PHP中的函数中向变量添加变量

时间:2016-11-11 20:02:11

标签: php arrays

所以,我试图将变量添加到彼此相关的数组中,并且由于我喜欢干净地编程,我宁愿创建一个函数(因为我不知道任何可以向不同数组添加多个值的函数我可以按特定顺序传递4个变量,并将它们添加到相应的数组中。这比从数组的开始计数并找出数组的哪些部分彼此对应更好。我尝试使用此代码,但它似乎不起作用。虽然,如果我尝试从函数外部添加数组,它似乎正常运行。这是我的代码:

<?php
function dbg($var1,$var2,$var3,$var4){
  $array1[] = "$var1";
  $array2[] = "$var2";
  $array3[] = "$var3";
  $array4[] = "$var4";
  echo count($array1);
}
dbg('foo','bar','ping','pong');
?>

3 个答案:

答案 0 :(得分:1)

看起来你的问题是范围;如果你在一个函数中执行此操作,那么您将创建并使用四个仅存在 in 函数的数组变量。要允许它们在函数之外产生任何影响,只需将它们定义为全局:

<?php
function dbg($var1,$var2,$var3,$var4){
  global $array1, $array2, $array3, $array4;
  $array1[] = "$var1";
  $array2[] = "$var2";
  $array3[] = "$var3";
  $array4[] = "$var4";
  echo count($array1);
}
dbg('foo','bar','ping','pong');
?>

答案 1 :(得分:-1)

要将$ var1元素添加到$ array1数组,您应该这样做: $ array1 [count($ array1)] = $ var1;

答案 2 :(得分:-1)

在少于7的php中你可以做到

function dbg(){
      $args=func_get_args();
      print func_num_args();
      var_export($args);
}

用php 7你可以做到

function dbg(...$args){
 print count($args);
 var_export($args);
}