Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.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 ForEach不识别数组_Php_Arrays_Foreach - Fatal编程技术网

Php 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

我正在使用foreach()遍历一个数组,但出于某种原因,这一行似乎不喜欢我的数组。这很奇怪,因为我有另一个foreach可以在另一个文件中正确地使用这个数组。我尝试将其强制转换为一个数组,但这只会使返回到其他函数的空字符串和一个嵌套数组

阵列结构:

   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>";
        }
      }
}