Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/268.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_Variables_Global Variables_Text Files - Fatal编程技术网

我在php函数中要做的第一件事是定义一个数组,为什么在函数后面没有定义?

我在php函数中要做的第一件事是定义一个数组,为什么在函数后面没有定义?,php,variables,global-variables,text-files,Php,Variables,Global Variables,Text Files,我有一个长函数,包含许多if语句等等。我在函数中做的第一件事是:$text=file($read\u text\u file) $text数组包含站点中的所有文本,因此我需要在我的整个函数中使用此数组,我想我可以通过在函数中首先定义变量来实现这一点,但现在我发现在稍后的if语句中,它是空的。为什么会这样 正如威廉在上面的评论中所说,我们确实需要了解这个问题的一些背景,才能回答这个问题。可能会发生很多问题。您确定文件也被正确读取了吗?Putvar\u dump($text)。如果数组已填充,则将获

我有一个长函数,包含许多if语句等等。我在函数中做的第一件事是:
$text=file($read\u text\u file)


$text数组包含站点中的所有文本,因此我需要在我的整个函数中使用此数组,我想我可以通过在函数中首先定义变量来实现这一点,但现在我发现在稍后的if语句中,它是空的。为什么会这样

正如威廉在上面的评论中所说,我们确实需要了解这个问题的一些背景,才能回答这个问题。可能会发生很多问题。您确定文件也被正确读取了吗?

Put
var\u dump($text)$text=file($read\u text\u file)之后的行上的code>。如果数组已填充,则将获得数组的值。如果没有,那么我的猜测是文件本身有问题。

我们需要查看您的所有代码才能为您解答这个问题。请使用调试器进行调试。Eclipse+pdt+xdebug工作得很好。我同意这可能是一个评论。但当时我没有达到要求的声誉分数(50-),尽管我现在有了。很抱歉造成混淆。我确定文件正在读取,但该函数有600行代码。我不能把所有的都发出去。你们就不能解释一下为什么会这样吗?如果先在函数中设置变量,那么它不是全局变量吗?如果在方法中定义变量,并试图仅在该方法中使用,那么就没有理由不起作用。如果您在一种方法中定义变量,并尝试在另一种方法中使用,那么显然这是一个问题。如果看不到更多的上下文,就无法猜测您是如何定义和使用变量的。数组在大多数代码中都可以工作,但在某些if语句中它开始显示为空。不知道为什么。我会尽量把问题孤立起来,但不是那么容易。我应该从一开始就把变量定义为全局变量吗。那么你是在函数中使用它?是否只有在函数中变量才是空的?如果是这种情况,则需要将数组作为参数传递到函数中,或者在函数开头将数组声明为全局数组;当然,这不是解决这个问题的正确方法。您的代码中是否有任何内容可以在设置$text后更新它?当您发现它为空时,它是空数组还是空字符串?。。。var_dump($text)将告诉您这一点