Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to access "key" and "value" from an array passed to a for loop?

Tags:

arrays

loops

php

How can I change the foreach loop below so that I can assign the $myradiooption array's key as the value for each input instead of the array's option value as I'm now doing (I still want to echo the array's option value as the label)?

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

array(
  "name" => "Category Layout",
  "desc" => "description goes here",
  "id" => "my_category_layout",
  "type" => "radio",
  "options" => $myradiooptions )
);
//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 $option) {
  ?>
  <input
    type="radio"
    name="<?php echo $value['id']; ?>"
    id="<?php echo $count; ?>"
    value="<?php echo $option; ?>"
    <?php checked($option, 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;
like image 537
Scott B Avatar asked Dec 04 '22 09:12

Scott B


1 Answers

If you want to access the key of an array in a foreach loop, you use the following syntax:

foreach ($array as $key => $value) { ... }

References: foreach in the PHP documentation

like image 133
Sebastian Paaske Tørholm Avatar answered Dec 22 '22 00:12

Sebastian Paaske Tørholm