php修改数组元素,php数组特定元素修改方法

0c3e1f26b517a4d1c2584dffe05e673f.jpg%0A

原数组格式

$tdata=

Array

(

[0] => Array

(

[id] => 1

[fid] => 0

[l_title] => 今日头条

[l_key] => 今日头条

[l_desc] => 今日头条

[l_ico] => ../upload/images/14842284478853.jpg

[l_module] => article

[l_hidden] => 0

)

[1] => Array

(

[id] => 2

[fid] => 11

[l_title] => 头条新闻

[l_key] => 头条新闻

[l_desc] => 头条新闻

[l_ico] =>

[l_module] => article

[l_hidden] => 0

)

[2] => Array

(

[id] => 11

[fid] => 0

[l_title] => 明日新闻

[l_key] => 明日新闻

[l_desc] => 明日新闻

[l_ico] =>

[l_module] => article

[l_hidden] => 0

)

)

需求:fid为上级分类ID,使用smarty模板引擎时需输出上级分类名称,而不是ID。即数组元素fid修改成分类名称。

已有函数get_list_name($id),可通过分类id获取分类名称。

代码片段

//上级菜单ID替换成菜单名

foreach($tdata as $row){

foreach($row as $k=>$v){

if($k=='fid'){

if($row[$k]==0){

$row[$k] = '顶级分类';

}else{

$row[$k] = get_list_name($v);

}

}

}

$data[] = $row;

}

//上级菜单ID替换成菜单名

$data即为新数组,格式为

Array

(

[0] => Array

(

[id] => 1

[fid] => 顶级分类

[l_title] => 今日头条

[l_key] => 今日头条

[l_desc] => 今日头条

[l_ico] => ../upload/images/14842284478853.jpg

[l_module] => article

[l_hidden] => 0

)

[1] => Array

(

[id] => 2

[fid] => 明日新闻

[l_title] => 头条新闻

[l_key] => 头条新闻

[l_desc] => 头条新闻

[l_ico] =>

[l_module] => article

[l_hidden] => 0

)

[2] => Array

(

[id] => 11

[fid] => 顶级分类

[l_title] => 明日新闻

[l_key] => 明日新闻

[l_desc] => 明日新闻

[l_ico] =>

[l_module] => article

[l_hidden] => 0

)

)

最后通过赋值即可在模板中循环使用。

代码:

$smarty -> assign('list', $data);//给变量赋值

模板中代码:

{foreach item=li from=$list}

{$li.id}{$li.fid}{assign var="module" value="{$lng.{$li.l_module}}"}

{$module}

{$li.l_title}{$li.l_key}{$li.l_desc} 编辑  删除

{/foreach}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值