2010-06-17 6 views
2

Bonjour J'ai un tableau qui ressemble à ceci,PHP foreach aide

Array 
(
    [cfi_title] => Mr 
    [cfi_firstname] => Firstname 
    [cfi_surname] => Lastname 
    [cfi_email] => [email protected] 
    [cfi_subscribe_promotional] => 
    [cfi_tnc] => 
    [friendsName] => Array 
     (
      [0] => Firstname 1 
      [1] => Firstname 2 
      [2] => Firstname 3 
     ) 

    [friendsEmail] => Array 
     (
      [0] => [email protected] 
      [1] => [email protected] 
      [2] => [email protected] 
     ) 

    [submit_form] => Submit 
) 

Mon Dilema est nécessaire pour sauvegarder les valeurs des tableaux friendsName et friendsEmail dans une base de données, je sais que je peux boucle à travers eux, mais comment puis-je envoyer les données correspondantes, par exemple je dois enregistrer [friendsName][0] et friendsEmail][0] sur la même ligne de base de données? Je sais que je dois utiliser un foreach mais je n'arrive pas à comprendre la logique.

Répondre

4
foreach($friendsName as $key=>$val) { 
    $friend = $val; 
    $email = friendsEmail[$key]; 
} 

ou

$count = count($friendsName); 
for($i = 0; $i< $count; ++$i) { 
    $friend = $friendsName[$i]; 
    $email = $friendsEmail[$i]; 
} 

Chacun des exemples ci-dessus sont en utilisant l'hypothèse que la clé de réseau est l'identifiant de correspondance entre les deux bits de données

0

solution complète

//Prepare an array for the collected data 
$data = array(); 

//Loop through each of your friends names 
foreach($array['friendsName'] as $key => $value) 
{ 
    //Save the name as part of an associative array, using the key as an identifier 
    $data[$key] = array("name" => $value); 
} 
//Loop through the emails 
foreach($array['friendsEmail'] as $key => $value) 
{ 
    //The array is allready there so just save the email 
    $data[$key]['email'] = $value; 
} 

$data contient maintenant vos valeurs jumelées.