-1

你好我试图获取多维数组。我知道该怎么做,但不确定从主数组项获取信息的最佳方法是什么...

参见示例:

$this->toolbar = array(
    'add' => array(
        'class' => 'add_icon32',
        'action' => 'controller/add',
        'label' => 'Add'
    ),
    'edit' => array(
        'class' => 'edit_icon32',
        'action' => 'controller/edit',
        'label' => 'Edit'
    ),
);

我想在一个循环中解决这个问题。我想要这样的结果

<li class="<?php $class"> <a href="<?php $action; ?> "> <?php $label; ?> </a> </li>

我尝试使用 For 但我必须单独定义所有项目。Bcs 我希望 foreach 做到这一点。看看我在做什么,但这是分开的

<?php
$data = array(
    'add' => array(
        'action' => 'add/contorler/add/action',
        'class' => 'add_css_class',
        'label' => 'Add'
    ),
    'edit' => array(
        'action' => 'edit/contorler/edit/action',
        'class' => 'edit_css_class',
        'label' => 'Edit'
    )
);?>

<?php for($i = 2; $i<=count($data); ++$i): ?>
    <a class="<?php echo $data['add']['class']?>" href="<?php echo $data['add']['action'];?>"><?php echo $data['add']['label']?></a>
<?php endfor;?>
4

3 回答 3

1
<?php foreach ($data as $val) { ?>
    <a class="<?php echo $val['class'];?>" href="<?php echo $val['action'];?>"><?php echo $val['label'];?></a>
<?php } ?>

或者

foreach ($data as $val) print <<<qq
    <a class="$val[class]" href="$val[action]">$val[label]</a>
qq;
于 2013-09-10T17:46:34.313 回答
1

尝试

foreach ($data as $k => $v)
   echo "<a class='$v[class]' href='$v[action]'>$v[label]</a>";

显然,您甚至不需要 key $k,所以只需将其保留为

foreach ($data as $v)
...
于 2013-09-10T17:47:58.117 回答
0
<?php    
foreach($this->toolbar as $part){ ?>
   <li class="<?php echo $part['class'] ; ?>">
      <a href="<?php echo $part['action'] ; ?>">
         <?php echo $part['label'] ; ?>
       </a>
    </li>
<?php  
} 
?>
于 2013-09-10T17:49:54.747 回答