I want to use php array for HTML select list. In this case it will be the list of countries but beside of country name that is listed in drop down list I need as a value of
If you are using this sort of array as shown by jakenoble I would use foreach().
$wcr=array(
"ANG" = > 'Angola',
"ANB" = > 'Antigua & Barbuda',
"ARM" = > 'Armenia',
"AUS" = > 'Austria',
"AZB" = > 'Azerbaijan'
);
So the Foreach would look something like:
foreach($wcr as $short_code => $descriptive) {
?>
<option value="<?php echo $short_code; ?>"><?php echo $descriptive; ?></option>
<?php
}
Use foreach(), it's the best function to loop through arrays
your array should look like jakenoble posted
<select name="country">
<option value="">-----------------</option>
<?php
foreach($wcr as $key => $value):
echo '<option value="'.$key.'">'.$value.'</option>'; //close your tags!!
endforeach;
?>
</select>
I also made some minor adjustements to your html code. The first option in the list will be selected by default so no need to specify it ;)
EDIT: I made some edits after reading your question again
Do you mean like this:
$wcr=array(
"ANG" = > 'Angola',
"ANB" = > 'Antigua & Barbuda',
"ARM" = > 'Armenia',
"AUS" = > 'Austria',
"AZB" = > 'Azerbaijan'
);
Then in your while loop, $p
is your Short code.
Improved version of Krike's loop, if using my array of short codes as array keys:
<select name="country">
<option value="">-----------------</option>
<?php
asort($wcr);
reset($wcr);
foreach($wcr as $p => $w):
echo '<option value="'.$p.'">'.$w.'</option>'; //close your tags!!
endforeach;
?>
</select>
First make an associated array of country codes like so:
$countries = array(
'gb' => 'Great Britain',
'us' => 'United States',
...);
Then do this:
$options = '';
foreach($countries as $code => $name) {
$options .= "<option value=\"$code\">$name</option>\n";
}
$select = "<select name=\"country\">\n$options\n</select>";