2013-09-10 3 views
-1

Привет, я пытаюсь получить многомерный массив. Я знаю, как сделать это, но я не уверенны, что это лучший способ, чтобы получить информацию из основного элемента массива ...многомерный массив php loop

Смотрите пример:

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

Я хочу Foreach это в одном цикле. Я хочу получить результат, подобный этому

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

Я пытаюсь использовать, но я должен определить все предметы отдельно. 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;?> 

ответ

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; 
1

Попробуйте

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

Видимо, вам не нужно даже ключ $k, так просто оставить его как в

foreach ($data as $v) 
... 
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 
} 
?> 
Смежные вопросы