如何在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=有我的数组
在foreach循环内部获取$pageViews的方式可能存在问题;除此之外,我认为您的代码没有任何问题。
您可以在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);
只需在外部使用数组变量。
foreach($temp_ch_output as $ch_finaloutput)
{
// Your loop
}
print_r($page_array);
试试这个,如果$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);
您错过了参数$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++;
}
这里有一个问题:$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
这里没有任何连接看起来如此混乱。。。
您的代码在以下地方真的没有意义-
$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循环中,您实际上在哪里尝试打印数组?