【发布时间】:2014-10-15 20:13:11
【问题描述】:
我想知道如何使用嵌套的 foreach 循环访问以下数组?
Array ( [0] =>
Array ( [0] => stdClass Object ( [roleID] => 3 [permID] => 2 )
[1] => stdClass Object ( [roleID] => 3 [permID] => 3 )
[2] => stdClass Object ( [roleID] => 2 [permID] => 4 )
[3] => stdClass Object ( [roleID] => 2 [permID] => 5 ) )
这是我的代码:
foreach($allPermissions as $allPermission) :
foreach($rolePermissions as $rolePermission) :
if($allPermission->ID==$rolePermission[0]->permID) { ?>
<div class="perms">
<input type="checkbox" name="permissions[]" id="<?php echo $allPermission->ID; ?>" value="<?php print $allPermission->ID; ?>" checked><?php print $allPermission->permName; ?></option></div>
<?php }
endforeach;
endforeach; ?>
这样我可以获得与索引 0 相关的结果,但如果数组索引高于 0,则无法获得结果。
回答
我用下面的代码弄清楚:
foreach($rolePermissions as $key=>$val) :
foreach($val as $subkey=>$subval)
{
if($allPermission->ID==$subval->permID) {
?>
<div class="perms">
<input type="checkbox" name="permissions[]" id="<?php echo $allPermission->ID; ?>" value="<?php print $allPermission->ID; ?>" checked><?php print $allPermission->permName; ?></option></div>
<?php } }
【问题讨论】:
-
这两个数组是什么 $allPermissions,$rolePermissions.
标签: php arrays codeigniter multidimensional-array foreach