Skip to content Skip to sidebar Skip to footer

PHP Loop Inside Array

How can I loop inside an array in my code? This is the static version of my script: $val=array( array('value' => 'Male','label' => 'Male'), array('value' => 'Female','lab

Solution 1:

You can't use a loop directly as a value in an array. Instead, loop over and add each array for each iteration of the while-loop.

Using $div[] = "value", you add that value as a new element in that array.

$div = array(); // Initialize the array 

// Loop through results
while ($h = mysql_fetch_array($qwery)) { 
    // Add a new array for each iteration
    $div[] = array("value" => $h['id'], 
                   "label" => $h['div']);
}

This will create a two-dimensjonal array which would look (as an example) like

array(
    array(
        "value" => "Male",
        "label" => "Male"
    ), 
    array(
        "value" => "Female",
        "label" => "Female"
    )  
);

...which you then can look through with a foreach to do what you want with it.


If you want this to be output as options in a select-element, you could just do that directly

<select name="sel">
    <?php 
    while ($row = mysql_fetch_array($qwery)) { 
        echo '<option value="'.$row['id'].'">'.$row['div'].'</option>';
    }
    ?>
</select>

Solution 2:

ùsing a foreach can help you out. It gives you alot more overview imho.

$values = array(
    array("value" => "Male","label" => "Male"),
    array("value" => "Female","label" => "Femal"),
);

<select name="Select">
<?php foreach ($val as $item): ?>
    <option value="<?= $item['value']; ?>"><?= $item['label']; ?></option>
<?php endforeach; ?>
</select>

Post a Comment for "PHP Loop Inside Array"