【发布时间】:2011-11-15 21:02:39
【问题描述】:
所以我一直在尝试解决这个问题一段时间,但似乎被卡住了。我有一个多维数组,我正在尝试使用某个键输出所有值。代码如下:
//My Array:
$services = array(
array( service_name => 'facebook',
service_title => 'Facebook',
service_order => 0,
service_type => 'Social Networking'
),
array( service_name => 'twitter',
service_title => 'Twitter',
service_order => 0,
service_type => 'Social Networking'
),
array( service_name => 'tumblr',
service_title => 'MySpace',
service_order => 0,
service_type => 'Blogging'
)
);
问题是我想通过service_type 输出值,例如“社交网络”或“博客”,如果我使用这样的 foreach 语句,我可以做到这一点:
foreach($services as $service) {
if ($service['service_type'] == 'Social Networking') {
echo($service['service_title']);
}
if ($service['service_type'] == 'Blogging') {
echo($service['service_title']);
}
}
在我尝试在诸如
之类的类型之间添加标题之前效果很好foreach($services as $service) {
if ($service['service_type'] == 'Social Networking') {
echo($service['service_title']);
}
echo ('<h3> Blogging</h3>');
if ($service['service_type'] == 'Blogging') {
echo($service['service_title']);
}
}
我已经学到了足够多的知识,知道这是因为foreach 循环的工作方式,所以我一直在尝试使用while($service['service_type'] == 'Social Networking')(创建一个有趣的无限循环)和其他各种方式来做到这一点。
理想情况下,我想按service_type 对数组进行排序,然后显示结果,而不必在标题之间运行foreach 循环。
对此的任何帮助都会很棒,甚至还有其他关于如何做到这一点的建议。
【问题讨论】:
标签: php arrays loops multidimensional-array foreach