Here is an example for toy to understand the concept of multiple arrays in a single loop in PHP. My friend and coworker Mohammad Khan (yeah he is from Peshawar and sits beside me in the office where we develop web applications) was working on a such a situation for an airline scheduling system for Intercontinental Airways with HTML form submission in PHP where he has multiple arrays passed as POST variables. So I did a quick search on internet and found solutions spread across the forums. I decided to do the quick and dirty mash up of all the stuff with proper editing to get you guys going on the same path along!
Lets suppose you have two arrays one for links and other for the link name. You want to us a single foreach to mash them up. Have a look
PHP Code:
$href = array('htmlfile.html', 'giffile.gif', 'phpfile.php', 'thejpglink.jpg');
$name = array('My html file', 'My gif file', 'My php file', 'My jpeg file');
You might be thinking, “How do I make it so that I can combine both arrays to make a link?”. Yeah thats what I am gonna teach you guys. Oh I forgot to mention the gals
. Yep ladies I heard you saying, “I want the output to be:
PHP Code:
<a href="htmlfile.html">My html file</a>
<a href="giffile.gif">My gif file</a>
<a href="phpfile.php">My php file</a>
<a href="thejpglink.jpg">My jpg file</a>
. And I want to do this with a single foreach”.
Thoughts: Do you still think For only works with one array? Yeah you are wrong!
In both, assume that $ar1 is the first array, and $ar2 is the second array.
echo $ar1[$n].$ar2[$n]; means echo the value of that part of the first array, then that part of the second array. You could place them into links as you wish.
PHP Code:
for ($n=0; isset($ar1[$n]) && isset($ar2[$n]; $n++) { //for loop:
//set $n to zero first time
//while both the $ar1 and $ar2 at $n are set, like $ar2[7], etc.
echo $ar1[$n].$ar2[$n];
}

