来自函数的 PHP 数组传递到新工作表上的数组


PHP array from function passed onto array on new sheet

我正在尝试将一个数组从一个工作表上的函数传递到另一个php工作表上的新数组中。

这是我所拥有的:

函数为:

//the arr.php file
<?php
function search($var){
$var;
$a=array();
$a[0]=$var+1;
$a[1]=$var+2;
$a[2]=$var+3;
$a[3]=$var+4;
return $a;
}
?>

第二张是:

<?php
include ('arr.php');
$n=4;
for($i=0;$i<$n;$i++)
{
$temp=search(3); 
$thearrayfromarr[$i]=$temp;//doesn't work
print_r($thearrayfromarr[$i]);//doesn't work
}
?>

我希望第二张纸有一个数组变量,我可以回显该变量,该变量将输出搜索函数中的$a数组数据。

因此,例如,当我输入时

echo thearrayfromarr[0]; // It will have the value of $a[0] echo'd to me

您的函数没有return任何内容:

function search($var) {
    $a=array();
    $a[0]=$var+1;
    $a[1]=$var+2;
    $a[2]=$var+3;
    $a[3]=$var+4;
    return $a; // Need this
}

您的search()函数没有返回$a。这是一个有效的清理版本:

<?php
//the arr.php file
function search($var){
    $a = array();
    for($n=1; $n<=4; $n++) {
        $a[] = $var + $n;
    }
    return $a;
}
?>

你可以简单地从函数中返回这个数组:

return $a;

如果您已经返回了其他内容,则应将$a声明为引用参数:

function search($var, &$a) {
  $a[0]=$var+1;
  $a[1]=$var+2;
  $a[2]=$var+3;
  $a[3]=$var+4;
  return "something";
}
$a = array();
$temp = search(3, $a);
// $a now has new value

您在函数内部定义的数组无法从外部访问。您需要返回数组才能使用它。

返回数组

function search($var){
$var;
$a=array();
$a[0]=$var+1;
$a[1]=$var+2;
$a[2]=$var+3;
$a[3]=$var+4;
return $a;
}

然后你像这样使用它:

include ('arr.php');
$n=4;
for($i=0;$i<$n;$i++)
{
$temp=search(3); 
$thearrayfromarr[$i] = $temp;
print_r($thearrayfromarr[$i]);
}

在这种情况下,如果您这样做:$thearrayfromarr[0]应该有 [1,2,3,4],因为您返回的是一个数组,而不是一个值。这一点尤其重要,因为您希望根据以下行获得其他内容:

echo thearrayfromarr[0]; // It will have the value of $a[0] echo'd to me

回答问题

如何使$thearrayfromarr具有搜索(3)的价值?

你不需要 for 循环,你可以做:

include ('arr.php');
$thearrayfromarr = search(3); 
print_r($thearrayfromarr); //should return [4,5,6,7]