Как получить доступ к 'key' и 'value' из массива в цикле for?

24 янв. 2011 г., 18:12:13
Просмотры: 1.82K
Голосов: 0

Как можно изменить цикл for ниже, чтобы я мог использовать значение "key" массива как "value" для каждого input, вместо текущего использования значения "option" массива (при этом я хочу оставить вывод значения "option" в качестве label)?

$myradiooptions = array("grid1" => "Grid View (default)", "list1" => "List View (1 column)", "list2" => "List View (2 column)" );

$options = array (
array( "name" => "My Theme Options","type" => "title"), array( "type" => "open"),

array(  "name" => "Category Layout",
     "desc" => "description goes here",
     "id" => "my_category_layout",
     "type" => "radio",
    "options" => $myradiooptions ),

    ...etc}

//switch, case "radio":
?>
<li class="section">
    <label class="left" for="<?php echo $value['id']; ?>"><?php echo $value['name']; ?></label>
    <?php $count=1;foreach ($value['options'] as $key => $option) { ?>
    <input type="radio" name="<?php echo $value['id']; ?>" id="<?php echo $count; ?>" value="<?php echo $key; ?>" <?php checked($key, get_settings($value['id'])); ?>/><label style="color:#666; margin:0 20px 0 5px;" for="<?php echo $count; ?>"><?php echo $option; ?></label>
  <?php $count++;} ?>
    <label class="description" style="margin-top:-5px;"><?php echo $value['desc']; ?></label>
</li>
<?php
break;
0
Все ответы на вопрос 1
1

Если я правильно вас понял, просто измените

<?php $count=1;foreach ($value['options'] as $key => $option) { ?>

и вы сможете получить доступ к ключу через $key.

24 янв. 2011 г. 18:30:29
Комментарии

именно то, что я искал. Мне также пришлось изменить checked на checked($key, get_settings($value['id'])); Спасибо!

Scott B Scott B
24 янв. 2011 г. 18:38:44