question sur boucle tableau

Eléphant du PHP | 319 Messages

26 nov. 2007, 01:14

hello,

j'ai un script de recommandation. un utilisateur recommande le site a ses amis, ca envoit un email a ces personnes.

ca marche bien.

- Si l'adresse email (ou les adresses) est deja dans la base de donnees, elle n'est pas reinseree
- MAIS un email part quand meme...

donc je souhaiterais savoir si on peut faire un foreach sur 2 tableaux?

j'ai ce code la:

$email = array($email1, $email2, $email3, $email4, $email5);

foreach($email as $key=>$value) {
if(!empty($value)) {
	$swift->send($message, "$value", "[email protected]");
	}
}
et je voulais faire qq chsoe du style: (les valeurs de sendmails sont soit 1 soit rien)
$email = array($email1, $email2, $email3, $email4, $email5);
$sendmail = array($sendmail1, $sendmail2, $sendmail3, $sendmail4, $sendmail5);

foreach($email as $key=>$value && $sendmail as %key=>$value2) {
if(!empty($value) && $value2 = 1) {
	$swift->send($message, "$value", "[email protected]");
	}
}

est ce uqe je susi pas en train de reinventer la programmation en php la??
(vu que je n'ai rien vu de semblable dans la doc...)

merci
niveau: pas terrible en php mais je me soigne...

Eléphant du PHP | 319 Messages

26 nov. 2007, 02:05

bon, j'ai vu qu'il ne'st pas possible de faire ce que je voulais faire donc je passe au plan B: tableau a 2 dimension.

j'ai ce code mais ca ne marche pas:

		$array = array( array("$email1", "$sendmail1"),
					array("$email2", "$sendmail2"),
					array("$email3", "$sendmail3"),
					array("$email4", "$sendmail4"),
					array("$email5", "$sendmail5")
					);
							
		//while(list($key,$value) = each($email)
		foreach($array as $key=>$value) 
			{
			foreach($value as $subkey=>$subvalue) 
				{
				if(isset($subvalue)) 
					{
					$swift->send($message, "$value", "[email protected]");
					}
				}
			}

ce que je comprends:
- $value c'est l'email
- $subvalue c'est la valeur de sendmail
- si sendmail n'est pas nul: on envoi un email a l'adresse stockee dans value

et cela tant que le tableau a des valeurs a parcourir.

qq un pourrait m'indiquer ou ca cloche svp?

merci :)
niveau: pas terrible en php mais je me soigne...

Eléphant du PHP | 319 Messages

26 nov. 2007, 04:00

bon,

j'ai essayer d'inverser la syntaxe de mon tableau de la sorte. ca ne marche pas mieux.
le probleme me semble venir du fait que je souhaite "sauter" les "$values" qui sont vide.
		$array = array( array("$sendmail1", "$email1"),
						array("$sendmail2", "$email2"),
						array("$sendmail3", "$email3"),
						array("$sendmail4", "$email4"),
						array("$sendmail5", "$email5")
						);
							
		//while(list($key,$value) = each($email)
		foreach($array as $key=>$value) 
			{
			foreach(!empty($value) as $subkey=>$subvalue)
				{
				$swift->send($message, "$subvalue", "[email protected]");
				}
			}
niveau: pas terrible en php mais je me soigne...

Eléphant du PHP | 319 Messages

26 nov. 2007, 06:28

bon, par iteration, en lisant des articles et en me prenant u ncafe j'ai trouve la solution!
$array = array( 
						array("$sendmail1", "$email1"),
                        array("$sendmail2", "$email2"),
                        array("$sendmail3", "$email3"),
                        array("$sendmail4", "$email4"),
                        array("$sendmail5", "$email5")
                        );  
	     foreach($array as $key=>$value)
            {
				if(!empty($value[0]))
				{
				$swift->send($message, "$value[1]", "[email protected]"); 
				print_r($value[1]);
				}
			}
niveau: pas terrible en php mais je me soigne...