medk medk - 3 months ago 16x
PHP Question

Two arrays in foreach loop

I want to generate a selectbox using two arrays, one containing the country codes and another containing the country names.

This is an example:


$codes = array('tn','us','fr');

$names = array('Tunisia','United States','France');

foreach( $codes as $code and $names as $name ) {

echo '<option value="' . $code . '">' . $name . '</option>';


This method didn't work for me. Any suggestions?

foreach( $codes as $code and $names as $name ) { }

That is not valid.

You probably want something like this...

foreach( $codes as $index => $code ) {
   echo '<option value="' . $code . '">' . $names[$index] . '</option>';

Alternatively, it'd be much easier to make the codes the key of your $names array...

$names = array(
   'tn' => 'Tunisia',
   'us' => 'United States',