Hoe kan ik uit onderstaande array opmaken welke persoon welke keuze heeft gemaakt? Dit doe ik met een foreach maar ik wil de name "pers1" en "pers2" ook opslaan in de database. En is die driedubbele foreach de beste manier heb zo mijn twijfels ?

array(2) { [1]=> array(2) { ["pers1"]=> array(1) { [0]=> string(1) "A" } ["pers2"]=> array(1) { [0]=> string(1) "A" } } [2]=> array(2) { ["pers1"]=> array(1) { [0]=> string(1) "X" } ["pers2"]=> array(1) { [0]=> string(1) "Y" } } }


foreach($_POST['productoptie'] as $opties)
{
  foreach($opties as $subopties)
  {
    foreach($subopties as $optiepersoon)
    {
      mysql_query("INSERT INTO x (reserveer_id, rowid, optie) VALUES ('$cartid','$product_rowid','$optiepersoon');");
      }
    }
}
Ik kan zo je array() niet lezen.
Doe eens een echo '<pre>' . print_r($array, true) . '</pre>';

Array (
	[1] => Array (
		[pers1] => Array ( [0] => B )
		[pers2] => Array ( [0] => A )
		)
	[2] => Array (
		[pers1] => Array ( [0] => Y )
		[pers2] => Array ( [0] => X )
		)
	) 
Zit het niet erg onhandig in het array()?
Hiermee heb ik het opgelost, bedankt voor je hulp. Wat ik dus eigenlijk wilde is de zogeheten array_keys opslaan.

foreach($_POST['productoptie'] as $opties)
{
	foreach($opties as $key => $subopties)
	{
		// $key $subopties[0]
		mysql_query("INSERT INTO x (reserveer_id, rowid, pers, optie) VALUES ('$cartid','$product_rowid','$key','$subopties[0]');");
	}
}
Doe je dit wel helemaal goed? Nu zet je een foreach in een foreach. Moet die tweede niet bij die eerste erin verwerkt worden?

Reageren