[Résolu] Ajouter une clé à un tableau si absente

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [Résolu] Ajouter une clé à un tableau si absente

Re: Ajouter une clé à un tableau si absente

par Nico » 05 mars 2012, 17:48

En effet, c'est d'une évidence :)

Merci ;-)

Re: Ajouter une clé à un tableau si absente

par xTG » 05 mars 2012, 16:58

Prenons l'exemple d'incrémenter chaque valeur d'un tableau numérique :
foreach($monTableau as $index => $valeur){
  $monTableau[$index] = $valeur + 1;
}
Cela t'éclaire-t-il ? :)

Re: Ajouter une clé à un tableau si absente

par Nico » 05 mars 2012, 16:30

Plutôt que de dupliquer le tableau utilises le tableau source (sauf si ta duplication a une réelle utilité par la suite).
Ce qui impliquera aussi que le else ne sera pas nécessaire.
La duplication n'a pas plus d'intêret que ça, c'est car je ne savais pas faire autrement.
Je ne vois pas comment je peux rester sur le tableau original.

Re: Ajouter une clé à un tableau si absente

par xTG » 05 mars 2012, 16:22

Plutôt que de dupliquer le tableau utilises le tableau source (sauf si ta duplication a une réelle utilité par la suite).
Ce qui impliquera aussi que le else ne sera pas nécessaire.

Re: Ajouter une clé à un tableau si absente

par Nico » 05 mars 2012, 15:35

Merci pour ta réponse.
J'ai réussi à obtenir mon résultat avec l'exemple ci dessous, mais je ne sais pas si c'est le plus efficace/propre.

Avis ?

Merci
        foreach ($dates AS $key => $values) {
            if (!isset($values['sujets']) OR !isset($values['messages']))
            {
                $newdate[$key]['sujets'] = (isset($values['sujets'])) ? $values['messages'] : 0;
                $newdate[$key]['messages'] = (isset($values['messages'])) ? $values['messages'] : 0;
            }
            else
            {
                $newdate[$key] = $values;
            }
        }

Re: Ajouter une clé à un tableau si absente

par xTG » 05 mars 2012, 15:19

$tab = array( 0 => 0, 2 => 2, 3 => 3);
$tab[1] = 1;
var_dump($tab);
;)

[Résolu] Ajouter une clé à un tableau si absente

par Nico » 05 mars 2012, 15:02

Bonjour,

Je chercher à rajouter une clé à mon tableau si elle n'existe pas.
Exemple :
Array
(
    [2012-02-04] => Array
        (
            [messages] => 56
        )

    [2012-02-05] => Array
        (
            [sujets] => 2
            [messages] => 42
        )

    [2012-02-06] => Array
        (
            [sujets] => 3
            [messages] => 32
        )

    [2012-02-07] => Array
        (
            [sujets] => 2
            [messages] => 40
        )

    [2012-02-08] => Array
        (
            [sujets] => 5
            [messages] => 60
        )
...
Deviendrai :
Array
(
    [2012-02-04] => Array
        (
            [sujets] => 0    
            [messages] => 56
        )

    [2012-02-05] => Array
        (
            [sujets] => 2
            [messages] => 42
        )

    [2012-02-06] => Array
        (
            [sujets] => 3
            [messages] => 32
        )

    [2012-02-07] => Array
        (
            [sujets] => 2
            [messages] => 40
        )

    [2012-02-08] => Array
        (
            [sujets] => 5
            [messages] => 60
        )

Possible ?

Merci