Php ForEach不识别数组
我正在使用foreach()遍历一个数组,但出于某种原因,这一行似乎不喜欢我的数组。这很奇怪,因为我有另一个foreach可以在另一个文件中正确地使用这个数组。我尝试将其强制转换为一个数组,但这只会使返回到其他函数的空字符串和一个嵌套数组 阵列结构:Php ForEach不识别数组,php,arrays,foreach,Php,Arrays,Foreach,我正在使用foreach()遍历一个数组,但出于某种原因,这一行似乎不喜欢我的数组。这很奇怪,因为我有另一个foreach可以在另一个文件中正确地使用这个数组。我尝试将其强制转换为一个数组,但这只会使返回到其他函数的空字符串和一个嵌套数组 阵列结构: Array ( [0] => http://example.com/example.html [1] => http://developer.com/test.html ) PHP
Array (
[0] => http://example.com/example.html
[1] => http://developer.com/test.html
)
PHP
编辑:foreach位于公共函数内的内部函数中。试试这个,与我们分享输出
$formUrlsArray = (array) $formsUrlArray;
与我在函数中向foreach传递数组时遇到的问题相同。 在将数组传递给foreach之前,键入casting以解决该问题 因此,按照下面的说明插入
$formUrlsArray=(数组)$formUrlsArray
,它应该可以工作
再次发布函数($entry,$form){
//如果此表单的ID与所需ID匹配,请将其转发给
//对应的URL
if(get_选项('fts_forward_url'){//检查空的转发url
$formUrlsArray=(数组)$formUrlsArray
if(is_数组($formUrlsArray))
{
foreach($formUrlsArray作为$key=>$formUrl){
//发布到url($formUrl,$entry);
}
}
其他的
{
echo“”;print_r($formUrlsArray);echo“”;
Warning: Invalid argument supplied for foreach() in *path* on line *line*
}
}
}
更多信息。foreach是否在函数中?请尝试使用Is\u array($formUrlsArray)
条件并给出输出。您能提供更多代码吗?很难确定实际问题。错误表明变量$formUrlsArray
并不总是包含数组,因此foreach
无法循环。这是一个变量范围问题函数再次post_($entry,$formUrlsArray){
if(is_array($formUrlsArray))
{
foreach($formUrlsArray as $key => $formUrl){
post_to_url($formUrl, $entry);
}
}
else
{
echo "<pre>"; print_r($formUrlsArray); echo "</pre>";
}
$formUrlsArray = (array) $formsUrlArray;
function post_again($entry, $form){
//if this form's ID matches the required id, forward it to
//corresponding URL
if(get_option('fts_forward_url')){ //check for empty forwarding URLs
$formUrlsArray = (array) $formUrlsArray
if(is_array($formUrlsArray))
{
foreach($formUrlsArray as $key => $formUrl){
//post_to_url($formUrl, $entry);
}
}
else
{
echo "<pre>"; print_r($formUrlsArray); echo "</pre>";
}
}
}