我从数组中提取变量,效果很好,但碰巧在同一个文件中,我有来自不同类别的新闻项目,而数组具有相同的关键字名称,所以它们会混淆,加载的第一个集合会接管,我需要的是变量的前缀或后缀,这样我就可以区分不同的
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;
}
任何帮助都将不胜感激。非常感谢。
创建全局变量的奇怪方法,但这里有一些可以做你想做的事情:
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;
}