2013-12-11 39 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循環內打印數組?