Php 警告:explode()要求参数2为字符串,数组给定
我正在尝试使用脚本。当我使用它时,我得到以下错误: 警告:explode()要求参数2是字符串,数组在第16行的/myred/include/functions.php中给出 警告:in_array()要求参数2为数组,在第17行的/myred/include/functions.php中为null 下面是functions.php的第16行和第17行。有人知道它怎么了吗Php 警告:explode()要求参数2为字符串,数组给定,php,arrays,explode,Php,Arrays,Explode,我正在尝试使用脚本。当我使用它时,我得到以下错误: 警告:explode()要求参数2是字符串,数组在第16行的/myred/include/functions.php中给出 警告:in_array()要求参数2为数组,在第17行的/myred/include/functions.php中为null 下面是functions.php的第16行和第17行。有人知道它怎么了吗 $reserved = explode("--",$reserved); if (in_array(&q
$reserved = explode("--",$reserved);
if (in_array("$dname", $reserved)) {
$errormsg .= "$text_17<br>";
}
return $errormsg;
$reserved=explode(“--”,$reserved);
if(在_数组中($dname,$reserved)){
$errormsg.=“$text_17
”;
}
返回$errormsg;
作为参考,这是我正在使用的脚本:
谢谢 很简单,在第16行,您试图分解一个数组,请参阅php手册中的
explode
,它通过您指定的任何分隔符拆分字符串
由于第16行的$reserved
失败,第17行也失败,因为$reserved
未正确设置
发布更多代码,我们需要查看$reserved最先声明的位置。这一行是您的问题的原因:
$reserved = explode("--",$reserved);
从错误消息中可以看出,$reserved
已经是一个数组。我想猜测一下,初始$reserved
数组中的每个元素都是包含要拆分的“--”
的字符串
如果此假设正确,则需要使用内爆()
将$reserved
转换为字符串:
这将解决错误,并可能为您提供所需的结果。错误说明一切,预期字符串,给定数组。Try:var_dump($reserved);你想达到什么目的?@AD7six错了!来自php.net:explode($delimiter,$string)@ArtaexMedia这是你的深夜活动:)@user1938508-不要在这样的代码中重复使用变量名-这很难向您解释
$reserved
已经是一个数组-除非您将其删除并将其设置为null以供参考,这是我正在使用的脚本:谢谢!我不会下载它,但是试试这个:删除这行$reserved=explode(“-”,$reserved)
根据您向我展示的代码和警告,我假设$reseeved
已经是一个数组,因此无需分解它。因此,通过删除第16行
,第17行
不会发出警告。问题可能更复杂,我需要看更多的代码。找出变量$reserved
首先声明的位置,发布代码。删除第16行后,我得到警告:in_array()希望参数2是数组,第17行/myred/include/functions.php中给出的字符串这样做我现在得到警告:inpode()[function.infrade]:参数必须是第17行“第17行”的/myred/include/functions.php中的数组-你把代码放在了@leepowers建议的另一个地方。不,我把它放在了他建议的地方suggested@user1938508不太可能。在问题中,$reserved
以数组开头,并给出了一个错误。您在这里的评论中引用的错误表示,$reserved
不是数组。至少您是你让事情变得困难了。
$reserved = explode("--", implode($reserved));