php中解析数组,在PHP中解析多维数组

您应该在将数据解析为Smarty之前准备好数据。

你可以这样做:

$result = array(

array('name' => 'Hockey Team 1', 'category_id' => 1),

array('name' => 'Hockey Team 2', 'category_id' => 2),

array('name' => 'Hockey Team 3', 'category_id' => 3),

array('name' => 'Football Team 1', 'category_id' => 4),

array('name' => 'Football Team 2', 'category_id' => 5),

array('name' => 'Football Team 3', 'category_id' => 6)

);

$sports = array();

foreach ($result as $team) {

$sport_parts = explode(' ', $team['name']);

$sport = array_shift($sport_part);

$team['name'] = join(' ', $sport_parts);

if (isset($sports[$sport]) === FALSE) {

$sports[$sport] = array();

}

$sports[$sport][] = $team;

}这将产生这样的数据集,很容易在Smarty中迭代:

array(2) {

["Hockey"]=>

array(3) {

[0]=>

array(2) {

["name"]=>

string(13) "Team 1"

["category_id"]=>

int(1)

}

[1]=>

array(2) {

["name"]=>

string(13) "Team 2"

["category_id"]=>

int(2)

}

[2]=>

array(2) {

["name"]=>

string(13) "Team 3"

["category_id"]=>

int(3)

}

}

["Football"]=>

array(3) {

[0]=>

array(2) {

["name"]=>

string(15) "Team 1"

["category_id"]=>

int(4)

}

[1]=>

array(2) {

["name"]=>

string(15) "Team 2"

["category_id"]=>

int(5)

}

[2]=>

array(2) {

["name"]=>

string(15) "Team 3"

["category_id"]=>

int(6)

}

}

}Smarty模板的一个例子:

{foreach from=$sports key=sport item=teams}

{$sport}

{foreach from=$teams item=team}

{$team['name']}

{/foreach}

{/foreach}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值