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

在PHP中向函数内的数组添加变量,php,arrays,Php,Arrays,因此,我试图将变量添加到相互关联的数组中,由于我喜欢干净地编程,我宁愿创建一个函数(因为我不知道有任何函数可以将多个值添加到不同的数组中),我可以按特定顺序将4个变量传递给它,并将它们添加到相应的数组中。这样做比从数组的开头开始计数并找出数组的哪些部分彼此对应更好。我尝试使用此代码,但似乎不起作用。尽管如此,如果我尝试从函数外部添加到数组中,它似乎运行正常。这是我的密码: <?php function dbg($var1,$var2,$var3,$var4){ $array1[] =

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

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

要将$var1元素添加到$array1数组,请执行以下操作:
$array1[计数($array1)]=$var1

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

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

在php中,您可以使用小于7的

function dbg(){
      $args=func_get_args();
      print func_num_args();
      var_export($args);
}
function dbg(...$args){
 print count($args);
 var_export($args);
}
使用PHP7,您可以

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

您正在用一个条目填充4个数组,这就是为什么不计算4个。
$array1
$array2
$array3
$array4
是不同的数组为什么在函数中这样做?没什么意义。放弃这艘船!可能会添加
$GLOBALS['array1'][]=$var1