2012-07-21 90 views
0

我从一个数组中提取变量和工作正常,但恰巧在同一个文件我已经从不同类别的新闻条目与阵列具有相同的密钥的名称,以便它们混合起来并加载第一组接管,我需要的是为变量前缀或后缀,所以我可以区分一个从另一从数组的键提取变量与后缀或前缀PHP

function get_extra_fields($item){ 
    $item->extra_fields = K2ModelItem::getItemExtraFields($item->extra_fields); 
    foreach ($item->extra_fields as $key => $extraField){ 

     $getkey = strtolower($extraField->name); 
     $getkey = str_replace(' ', '', $getkey); 
     global $$getkey; 
     $$getkey = $extraField->value; 
    } 

} 

并且它的foreach内要求3个不同类别

foreach($get_gcat1 as $row => $item){ 
    get_extra_fields($item); 
    echo $newstitle; 
} 

foreach($get_cat2 as $row => $item){ 
    get_extra_fields($item); 
    echo $newstitle; 
} 

foreach($get_cat3 as $row => $item){ 
    get_extra_fields($item); 
    echo $newstitle; 
} 

任何帮助表示赞赏。谢谢!

回答

1

创建全局变量奇怪的方式,但这里的东西,可以做你想做的:

function get_extra_fields($item, $prefix){ 
    $item->extra_fields = K2ModelItem::getItemExtraFields($item->extra_fields); 
    foreach ($item->extra_fields as $key => $extraField){ 
     $getkey = strtolower($extraField->name); 
     $getkey = str_replace(' ', '', $getkey); 
     $GLOBALS[$prefix.$getkey] = $extraField->value; 
    } 
} 


foreach($get_gcat1 as $row => $item){ 
    get_extra_fields($item, 'cat1_'); 
    echo $cat1_newstitle; 
} 

foreach($get_cat2 as $row => $item){ 
    get_extra_fields($item, 'cat2_'); 
    echo $cat2_newstitle; 
} 

foreach($get_cat3 as $row => $item){ 
    get_extra_fields($item, 'cat3_'); 
    echo $cat3_newstitle; 
}