在Foreach外面调用一个数组

时间:2013-12-11 13:51:16

标签: php arrays foreach

如何在主foreach循环之外访问我的数组$ page_array。我只是无法在主要的foreach之外打印我的数组内容。

$page_array = array(); $j=0;
foreach($temp_ch_output as $ch_finaloutput)
{
   //code
    $pagetitle = $ch_finaloutput['title'];
    if(is_array($pagetitle)){
        foreach ($pagetitle as $pagetitles) {
            $page_array[$j]['page_view'] = $pageViews;
            $j++; 
        }
     } else {
        $page_array[$j]['page_view'] = $pageViews;
        $j++;
     }
}
 print_r($page_array);

pagesviews = Google Analytics Value,pagetitle =我获取网页浏览量的页面标题,ch_finaloutput =包含我的数组

7 个答案:

答案 0 :(得分:1)

有可能在foreach循环内部出现问题,就像获取$ pageViews一样; 除此之外我不认为你的代码有任何问题。

答案 1 :(得分:0)

您可以在主foreach循环之外声明变量。另外,缩进代码:

$page_array = array();

foreach($temp_ch_output as $ch_finaloutput)
{

    if(is_array($pagetitle))
    {
        foreach ($pagetitle as $pagetitles)
        {
            $page_array[$j]['page_view'] = $pageViews;
        }
    }
    else
    {
        $page_array[$j]['page_view'] = $pageViews;
    }
}

print_r($page_array);

答案 2 :(得分:0)

只需在外面使用数组变量。

foreach($temp_ch_output as $ch_finaloutput)
{
         // Your loop
}
print_r($page_array);

答案 3 :(得分:0)

这里有一个问题:$j在这里似乎未定义,我认为它可能是主foreach的关键?

如果$j不是动态的,并且不会更改每个主要的foreach周期,$page_array[$j]每次运行时都会被覆盖。

$pageViews来自哪里?

$page_array = array()
foreach($temp_ch_output as $key=>$ch_finaloutput)
{
   //code
    if(is_array($pagetitle)){
        foreach ($pagetitle as $pagetitles) {
            // same issue here, data will be overvritten
            $page_array[$key]['page_view'] = $pageViews;
            // maybe solution $page_array[$key]['page_view'][] = $pageViews;
        }
     } else {
        $page_array[$key]['page_view'] = $pageViews;
     }
}

print_r($page_array);

<强>更新

好的,您已更新$j,但在哪里使用$pagetitles?如果你循环它?

$ch_finaloutput$pagetitle$pageViews这里没有什么连接看起来太乱了......

答案 4 :(得分:0)

试试这个,如果$ pagetitle不是数组,它应该直接设置在$page_array[$j]['page_view'];

$page_array = array();
foreach($temp_ch_output as $ch_finaloutput)
{
   //code
    if(is_array($pagetitle)){
        foreach ($pagetitle as $pagetitles) {
            $page_array[$j]['page_view'] = $pageViews;
        }
     } else {
        $page_array[$j]['page_view'] = $pagetitle;
     }
}
 print_r($page_array);

答案 5 :(得分:0)

如果提及

,您缺少参数$ j
$page_array = array();
$j=0;
foreach($temp_ch_output as $ch_finaloutput)
{
   //code

if(is_array($pagetitle)){
    foreach ($pagetitle as $pagetitles) {
        $page_array[$j]['page_view'] = $pageViews;
        $j++;
    }
 } else {
    $page_array[$j]['page_view'] = $pageViews;
 }
   $j++;
}

答案 6 :(得分:0)

您的代码在以下地方确实没有意义 -

$page_array = array(); $j=0;
foreach($temp_ch_output as $ch_finaloutput)
{
   //code
    if(is_array($pagetitle)){
        foreach ($pagetitle as $pagetitles) {
            $page_array[$j]['page_view'] = $pageViews;// Where did u use $pagetitles in this block?
            $j++; 
        }
     } else {
        $page_array[$j]['page_view'] = $pageViews;
        $j++;
     }
}
 print_r($page_array);

实际上你试图在foreach循环中打印数组?