[RESOLU] array probléme

Abdelghafour
Invité n'ayant pas de compte PHPfrance

13 août 2013, 13:47

Bonjour à tous , s'il vous plait j'ai besoin d'aide , je voudrais mettre dans un tableau des informations recupérer d'autres array , je ne sais pas comment expliquer , je vous montre juste mon code et comment je veux avoir le résultat finale pour sa .
Je voudrais au finale récuperer un array en résultat $data['souscripteur']=>age , isconjoint,is enfant , is principale , et ensuite le souscripteur suivant , alors que moi avec mon code j'affiche les ages en premier puis les autres informations une seul fois
$enfant=$this->getRequest()->getParam('enfant'); //récupere un array d'enfant
        $conjoint=$this->getRequest()->getParam('conjoint');//récupere un array de conjoinr
	 for($i = 0;$i <= count($enfant); $i++) {
                      $enfantArray=array('age'=>$enfant,'isConjoint'=>False, 'isEnfant'=>True, 'isPrincipal'=>False);
                  }
			
                    for($j = 0;$j <= count($conjoint); $j++) {
                      $conjointArray=array('age'=>$conjoint,'isConjoint'=>False, 'isEnfant'=>True, 'isPrincipal'=>False);
                  }
                    $data['Souscripteurs']=array(array('age'=>$age,'isConjoint'=>False, 'isEnfant'=>False, 'isPrincipal'=>True),
						$enfantArray	,
							$conjointArray);


abdelghafour
Invité n'ayant pas de compte PHPfrance

13 août 2013, 18:24

j'ai fais comme ceci mais c'est toujours pas sa
   if($enfant){
                 foreach($enfant as $key=>$en){
                     
			$enfantArray=array('age'=>$en[$key],'isConjoint'=>False, 'isEnfant'=>True, 'isPrincipal'=>False);
                 } }else {$enfantArray=0;}
			
		if($conjoint){
		foreach($conjoint as $key=>$co){
                     $conjointArray= array('age'=>$co[$key],'isConjoint'=>False, 'isEnfant'=>True, 'isPrincipal'=>False);
                 }}else{ $conjointArray=0;}
                    $data['Souscripteurs']=array(array('age'=>$age,'isConjoint'=>False, 'isEnfant'=>False, 'isPrincipal'=>True),
							$enfantArray,$conjointArray
							);

sa me donne un seul un array deux dimension pour la partie $enfantArray et pour $conjointArray alors que je cherche a avoir un seul array $enfantArray et un seul array $conjointArray

ViPHP
xTG
ViPHP | 7331 Messages

13 août 2013, 20:16

De ce que je vois de ton code cela ne donne pas un array à deux dimensions mais une dimension.
Peux-tu nous montrer le var_dump() correspondant des variables concernées ?

abdelghafour
Invité n'ayant pas de compte PHPfrance

14 août 2013, 20:11

Bonjour , tout d'abord merci de ta réponse , voila le vardump
"Souscripteurs"] => array(3) {
    [0] => array(4) {
      ["age"] => string(2) "70"
      ["isConjoint"] => bool(false)
      ["isEnfant"] => bool(false)
      ["isPrincipal"] => bool(true)
    }
    [1] => array(4) {
      ["age"] => array(2) {
        [0] => string(2) "50"
        [1] => string(2) "52"
      }
      ["isConjoint"] => bool(false)
      ["isEnfant"] => bool(true)
      ["isPrincipal"] => bool(false)
    }
    [2] => array(4) {
      ["age"] => array(2) {
        [0] => string(2) "14"
        [1] => string(2) "15"
      }
      ["isConjoint"] => bool(false)
      ["isEnfant"] => bool(true)
      ["isPrincipal"] => bool(false)
    }
, je voudrais dans la partie ou j'ai un array d'age , que j'ai array du premier avec les autres paramètres puis un autre array avec le deuxième age et les les autres parametres

ViPHP
xTG
ViPHP | 7331 Messages

14 août 2013, 20:35

Absolument rien compris...
Tu pourrais reformuler ou bien nous montrer l'array final que tu souhaites obtenir ?

abdelghafour
Invité n'ayant pas de compte PHPfrance

14 août 2013, 22:26

désolé si je suis pas assez clair , bon je voudrais obtenir ceci
"Souscripteurs"] => array(3) {
    [0] => array(4) {
      ["age"] => string(2) "70"
      ["isConjoint"] => bool(false)
      ["isEnfant"] => bool(false)
      ["isPrincipal"] => bool(true)
    }
    [1] => array(4) {
      ["age"] => string(2) "50"
       ["isConjoint"] => bool(false)
      ["isEnfant"] => bool(true)
      ["isPrincipal"] => bool(false)
    }
   [2] => array(4) {
      ["age"] => string(2) "52"
       ["isConjoint"] => bool(false)
      ["isEnfant"] => bool(true)
      ["isPrincipal"] => bool(false)
    }
    [3] => array(4) {
      ["age"] =>string(2) "14"
         ["isConjoint"] => bool(false)
      ["isEnfant"] => bool(true)
      ["isPrincipal"] => bool(false)
      }
[4] => array(4) {
    ["age"] =>string(2) "15"
      ["isConjoint"] => bool(false)
      ["isEnfant"] => bool(true)
      ["isPrincipal"] => bool(false)
    }
au lieu de sa
"Souscripteurs"] => array(3) {
    [0] => array(4) {
      ["age"] => string(2) "70"
      ["isConjoint"] => bool(false)
      ["isEnfant"] => bool(false)
      ["isPrincipal"] => bool(true)
    }
    [1] => array(4) {
      ["age"] => array(2) {
        [0] => string(2) "50"
        [1] => string(2) "52"
      }
      ["isConjoint"] => bool(false)
      ["isEnfant"] => bool(true)
      ["isPrincipal"] => bool(false)
    }
    [2] => array(4) {
      ["age"] => array(2) {
        [0] => string(2) "14"
        [1] => string(2) "15"
      }
      ["isConjoint"] => bool(false)
      ["isEnfant"] => bool(true)
      ["isPrincipal"] => bool(false)
    }
comme vous le voyez au lieu d'avoir un array d'age je veux les séparer et chacun contiendra ses 'isCoinjoint , isEnfant ,isPrincipale' , MERCI pour ton aide

ViPHP
xTG
ViPHP | 7331 Messages

15 août 2013, 08:17

Il te faut alors insérer ta dimension dans la première de la façon suivante :
$data_out = array();
$data_in_1 = array('key1' => 1, 'key2' => 2);
$data_in_2 = array('key1' => 1, 'key2' => 2);
$data_in_3 = array('key1' => 1, 'key2' => 2);

$data_out[] = $data_in_1; // on insère le premier array
var_dump($data_out);

$data_out[] = $data_in_2; // on insère le second
var_dump($data_out);

$data_out[] = $data_in_3; // on insère le dernier
var_dump($data_out);

Abdelghafour
Invité n'ayant pas de compte PHPfrance

15 août 2013, 10:38

merci beaucoup pour ton aide sa m'a donné une idée de comment faire ,pour ceux que sa intéressé voila le résultat final
$data['Souscripteurs'][]=array('age'=>$age,'isConjoint'=>False, 'isEnfant'=>False, 'isPrincipal'=>True);
                                               
                 foreach($enfant as $key=>$en){
			 $enfantArray=array('age'=>$en,'isConjoint'=>False, 'isEnfant'=>True, 'isPrincipal'=>False);
                       $data['Souscripteurs'][]=$enfantArray;
                  }
                       
                             foreach($conjoint as $key=>$en){
                      $conjointArray=array('age'=>$en,'isConjoint'=>False, 'isEnfant'=>True, 'isPrincipal'=>False);
			$data['Souscripteurs'][]=$conjointArray;
                  }