Reply to Re: can you foreach() two arrays at once ?

Your name:

Reply:


Posted by gosha bine on 09/08/07 08:30

J. Frank Parnell wrote:
> Hello,
> So, I was wondering how to do this:
>
> foreach($foo as $k=>$v AND $bar as $k2=>$v2){
> echo '<TR><TD>$k</TD><TD>$v</TD><TD>$k2</TD><TD>$v2</TD></TR>;
> }
>

try

$a = array('a1' => 1, 'a2' => 2);
$b = array('b1' => 11, 'b2' => 22, 'c2' => 33);

$keys = array_map(null, array_keys($a), array_keys($b));

foreach($keys as $k) {
list($k1, $k2) = $k;
$v1 = isset($k1) ? $a[$k1] : null;
$v2 = isset($k2) ? $b[$k2] : null;
echo "$k1 - $v1 - $k2 - $v2 \n";
}

if you don't need keys, this can be simplified to

foreach(array_map(null, $a, $b) as $v) {
list($v1, $v2) = $v;
echo "$v1 - $v2 \n";
}


--
gosha bine

extended php parser ~ http://code.google.com/p/pihipi
blok ~ http://www.tagarga.com/blok

[Back to original message]


Удаленная работа для программистов  •  Как заработать на Google AdSense  •  England, UK  •  статьи на английском  •  PHP MySQL CMS Apache Oscommerce  •  Online Business Knowledge Base  •  DVD MP3 AVI MP4 players codecs conversion help
Home  •  Search  •  Site Map  •  Set as Homepage  •  Add to Favourites

Copyright © 2005-2006 Powered by Custom PHP Programming

Сайт изготовлен в Студии Валентина Петручека
изготовление и поддержка веб-сайтов, разработка программного обеспечения, поисковая оптимизация