2012-07-21 106 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; 
}