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 resultswhile ($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

<selectname="sel"><?phpwhile ($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">
<?phpforeach ($valas$item): ?>
    <option value="<?= $item['value']; ?>"><?=$item['label']; ?></option>
<?phpendforeach; ?>
</select>

Post a Comment for "Php Loop Inside Array"