2013-12-11 110 views
-1

如何在主foreach循环外访问我的数组$ page_array。我只是无法在主foreach之外打印我的数组内容。调用外部数组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 =谷歌Analytics(分析)的值,其即时得到的页面浏览的网页PAGETITLE =标题和ch_finaloutput =有我的数组

+0

你能发布完整的代码片段吗?在哪里初始化$ page_array,以及在哪里打印出 – 2013-12-11 13:53:42

+0

什么是$ $ pagetitle?你确定你的'$ page_array'有值。 – Roopendra

+0

是的,我无法在foreach循环中打印$ page_array – rahul251

回答

1

这可能是有可能的,内部的foreach循环中有一个问题,你得到$ pageViews的方式; 除此之外,我不这么认为你的代码中有任何问题。

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); 
+0

我已将它声明在foreach外,但它有助于帮助 – rahul251

+0

当print_r数组时,你会得到什么? –

0

只需使用外部数组变量。

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

即使数组声明在主for循环之外,也无法打印它 – rahul251

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); 

UPDATE

OK,你已经更新$j,但在您使用$pagetitles?如果你循环它?

$ch_finaloutput$pagetitle$pageViews这里没有什么相互连接看起来很凌乱......

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); 
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++; 
} 
0

你的代码真的没有意义在pl王牌如下 -

$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循环内打印数组?