Bonjour a tous, et merci d'avance pour ceux qui pourront éclairer ma lanterne, j'ai ce type de tableau: [code] $test= array('results'=>array(array('a'=>'','b'=>'', 'c'=>''),array('a'=>'','b'=>'','c'=>'')));

Array
(
    [results] => Array
        (
            [0] => Array
                (
                    [a] => 
                    ** => 
                    [c] => 
                )

            [1] => Array
                (
                    [a] => 
                    ** => 
                    [c] => 
                )
        )

)

[/code] et je voudrais ajouter une cle 'd' pour chaque array de cette facon: [code]

Array
(
    [results] => Array
        (
            [0] => Array
                (
                    [a] => 
                    ** => 
                    [c] =>
                    [d] =>
                )

            [1] => Array
                (
                    [a] => 
                    ** => 
                    [c] =>
                    [d] => 
                )
        )

)

[/code] j'ai essayé avec des foreach mais en vain, je sèche [code]foreach($test['results'] as value){ $test['results']['d'] = 'val';}[/code]

9 réponses


Gyuki
Réponse acceptée

Bonjour,

$test= array('results'=>array(array('a'=>'','b'=>'', 'c'=>''),array('a'=>'','b'=>'','c'=>'')));
var_dump($test);
foreach($test'results'] as $key => $value){
    $test'results']$key] = array_merge($test'results']$key], array('d' => 'val'));
}
var_dump($test);
driven78
Auteur
Réponse acceptée

excellent Gyuki, ca marche nikel, viens d'appendre un truc merci à vs les gars pour le coup de main

Bonjour,
essai sa ;

foreach($test'results'] as $key => $value){
$test$key]'results']'d'] = 'val';}
driven78
Auteur

merci de ta reponse, mais cela ne fonctionne pas, il ne l'incorpore pas dans les array results [code]

Array
(
    [results] => Array
        (
            [0] => Array
                (
                    [a] => 
                    ** => 
                    [c] => 
                )

            [1] => Array
                (
                    [a] => 
                    ** => 
                    [c] => 
                )

        )

    [0] => Array
        (
            [results] => Array
                (
                    [d] => val
                )

        )

    [1] => Array
        (
            [results] => Array
                (
                    [d] => val
                )

        )

)

[/code]

Wilose avait inversé le $key et le results. Pour mieux comprendre :

<?php
$results[0]'a']="hey";
$results[0]'b']="hey";
$results[0]'c']="hey";
$results[1]'a']="hey";
$results[1]'b']="hey";
$results[1]'c']="hey";
$test'results']= $results;
// ==> test'results'][1]'a']
//array('results'=>array(array('a'=>'','b'=>'', 'c'=>''),array('a'=>'','b'=>'','c'=>'')));
var_dump($test);
foreach($test'results'] as $key => $value){
$test'results']$key]'d'] = 'val';}

var_dump($test);

Giuki utilise une fonction qui fusionne deux tableaux.Ce qui marche aussi.

++

De rien.

@coloo
Exact, cela fonctionne aussi ;)
Mais autant lui apprendre des fonctions de php qu'il aura peut etre besoin un jour ;)

J'étais en train d'écrire quand il a mis le topic en "résolu"

Je n'ai jamais dit que ta méthode était moins bonne que la première. Le tout était d'expliquer un chouya et rien de tel qu'un link sur la faq php ;)

Loin de penser que driven78 n'est pas les idées louables et que bien sûr il est cherché à comprendre ce que faisait la fonction avant de l'utilisée sur son projet. Je vois juste qu'il y a eu deux réponses et que vous lui avez donné la solution sans une once d'explication.

Voilà tout ^^

Bonne journée.

driven78
Auteur

de toute facons, j'ai envie de vous dire, que les 2 solucs, me vont, cool pour la fonction, car mm si je la connaissait de nom, je ne pensais pas l'utiliser ds ce cas, et de 2, l'autre soluc, m'as permis de comprendre une autre facon d'utilser le foreach, dc c'est tt bon.
j'ai du passer 3 heures sur cette connerie en manipulant le foreach ds ts les sens lol.

Encore merci, les gars

Je t'accorde que j'aurais dû expliquer un chouilla plus :P

Sorry :'(