PHP数组从函数传递到新工作表上的数组
我试图将一个数组从一个工作表上的函数传递到另一个php工作表上的新数组 以下是我所拥有的: 功能是:PHP数组从函数传递到新工作表上的数组,php,Php,我试图将一个数组从一个工作表上的函数传递到另一个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; } ?> 您的函数没有返回任何内容: function search($var) { $a=array(
//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;
}
?>
您的函数没有返回任何内容:
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
}
您的函数没有返回任何内容:
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;
}
?>
您的搜索()
函数没有返回$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
您只需从函数返回此数组:
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]);
}
回答问题
如何使$TheArrayFromar具有搜索(3)的值
您不需要for循环,只需执行以下操作:
include ('arr.php');
$thearrayfromarr = search(3);
print_r($thearrayfromarr); //should return [4,5,6,7]
无法从外部访问在函数内部定义的数组。您需要返回数组才能使用它 返回数组
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]);
}
回答问题
如何使$TheArrayFromar具有搜索(3)的值
您不需要for循环,只需执行以下操作:
include ('arr.php');
$thearrayfromarr = search(3);
print_r($thearrayfromarr); //should return [4,5,6,7]
$thearrayfromarr在哪里定义?@RiverC:在这里定义:
$thearrayfromarr[$i]=$temp代码>第一次迭代定义它,下一次迭代添加它。好的,尽管在$thearrayfromarr=array()这样的地方显式定义它要好得多。。。考虑到这两个文件,我们不知道第二个文件是否包含在某个文件中,因此$TheArrayFromar的来源是模糊的。另外,for循环的作用域有问题。@RiverC:我同意,但是当你在一个数组中循环时,你知道它肯定会有值(0-4),如果你小心的话,这是可以的。当您正在构建的阵列已经定义并且最终添加到其中时,真正的问题就会出现。这绝对是一种糟糕的风格。$TheArrayFromar在哪里定义?@RiverC:在这里定义:$TheArrayFromar[$i]=$temp代码>第一次迭代定义它,下一次迭代添加它。好的,尽管在$thearrayfromarr=array()这样的地方显式定义它要好得多。。。考虑到这两个文件,我们不知道第二个文件是否包含在某个文件中,因此$TheArrayFromar的来源是模糊的。另外,for循环的作用域有问题。@RiverC:我同意,但是当你在一个数组中循环时,你知道它肯定会有值(0-4),如果你小心的话,这是可以的。当您正在构建的阵列已经定义并且最终添加到其中时,真正的问题就会出现。这绝对是一种糟糕的风格。清理后的版本将是返回范围($var+1,$var+4)代码>非常正确@Alexey。然而,我认为简单的循环说明了OP的实际情况。我修复了返回部分,它现在可以工作了,但我正在尝试使新工作表中的ArrayFromarr具有调用函数搜索的值(3)您尚未定义$thearrayfromarr
。在for
循环之外,添加$thearrayfromarr=array()代码>清理版本将是返回范围($var+1,$var+4)代码>非常正确@Alexey。然而,我认为简单的循环说明了OP的实际情况。我修复了返回部分,它现在可以工作了,但我正在尝试使新工作表中的ArrayFromarr具有调用函数搜索的值(3)您尚未定义$thearrayfromarr
。在for
循环之外,添加$thearrayfromarr=array()代码>我修复了返回$a部分,但是如何通过搜索(3)使$TheArrayFromar具有[4,5,6,7]的值?我修复了返回$a部分,但是如何通过搜索(3)使$TheArrayFromar具有[4,5,6,7]的值?如果我有更多的时间,我会尝试找出你的代码实际上在做什么,并提供一个替代方案。我假设这只是为了提问而编写的伪代码/示例代码,而不是您真正的代码?一个名为search
的函数似乎不适合这项工作……如果我有更多的时间,我会尝试找出你的代码实际上在做什么,并提供一个替代方案。我假设这只是为了提问而编写的伪代码/示例代码,而不是您真正的代码?一个名为search
的函数似乎不适合它应该做的任何事情。。。