IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Comment meger deux array


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 167
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 167
    Par défaut Comment meger deux array
    Bonjour,
    Je me casse les pieds à faire un truc de simple GGRRRRR.

    J'ai une array qui contient ceci

    Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    (
        [0] => Array
            (
                [id_station] => 6
                [station_longname] => ST 6
                [id_station_type] => 1
                [station_type_name] => Gel de printemps
                [station_archive] => 1
                [lat] => 46.173393
                [lng] => 6.004297
                [alt] => 460.00
                [id_field] => 1
                [measures] => Array
                    (
                    )
     
            )
     
    )

    J'ai une fonction qui va question une basse de donnée pour récupérer les mesures d'une station. Dans ce casm on est sur la station 6. J'ai trois sondes, 29, 27 et 25.

    Voici cd qu'elle me retourne:

    Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    Array
    (
        [28] => Array
            (
                [labels] => Array
                    (
                        [0] => 2021-05-01 08:25:51
                        [1] => 2021-05-01 08:39:05
                        [2] => 2021-05-01 08:52:19
                        [3] => 2021-05-01 09:05:33
                        [4] => 2021-05-01 09:18:47
                    )
     
                [datasets] => Array
                    (
                        [data] => Array
                            (
                                [0] => 9.2000
                                [1] => 8.8000
                                [2] => 8.6000
                                [3] => 9.2000
                                [4] => 9.1000
                            )
     
                        [label] => Température haut [°C]
                        [yAxisID] => y-axis-1
                        [type] => line
                        [borderWidth] => 1
                        [borderColor] => rgba(255, 159, 64, 1)
                        [backgroundColor] => rgba(255, 159, 64, 1)
                        [pointRadius] => 1
                        [pointHoverRadius] => 13
                        [showLine] => 1
                        [pointStyle] => triangle
                        [fill] => 
                    )
     
                [unit] => °C
                [chartContainer] => te
                [id_sensor_type] => 2
                [id_sensor] => 28
            )
     
        [29] => Array
            (
                [labels] => Array
                    (
                        [0] => 2021-05-01 08:25:51
                        [1] => 2021-05-01 08:39:05
                        [2] => 2021-05-01 08:52:19
                        [3] => 2021-05-01 09:05:33
                        [4] => 2021-05-01 09:18:47
                    )
     
                [datasets] => Array
                    (
                        [data] => Array
                            (
                                [0] => 8.8000
                                [1] => 8.7000
                                [2] => 8.3000
                                [3] => 9.0000
                                [4] => 8.9000
                            )
     
                        [label] => Température bas [°C]
                        [yAxisID] => y-axis-1
                        [type] => line
                        [borderWidth] => 1
                        [borderColor] => rgba(54, 162, 235, 1)
                        [backgroundColor] => rgba(54, 162, 235, 1)
                        [pointRadius] => 1
                        [pointHoverRadius] => 13
                        [showLine] => 1
                        [pointStyle] => triangle
                        [fill] => 
                    )
     
                [unit] => °C
                [chartContainer] => te
                [id_sensor_type] => 2
                [id_sensor] => 29
            )
     
        [25] => Array
            (
                [labels] => Array
                    (
                        [0] => 2021-05-01 08:25:51
                        [1] => 2021-05-01 08:39:05
                        [2] => 2021-05-01 08:52:19
                        [3] => 2021-05-01 09:05:33
                        [4] => 2021-05-01 09:18:47
                    )
     
                [datasets] => Array
                    (
                        [data] => Array
                            (
                                [0] => 4.1400
                                [1] => 4.1300
                                [2] => 4.1400
                                [3] => 4.1400
                                [4] => 4.1400
                            )
     
                        [label] => Batterie [V]
                        [yAxisID] => y-axis-0
                        [type] => line
                        [borderWidth] => 1
                        [borderColor] => rgba(255, 99, 132, 1)
                        [backgroundColor] => rgba(255, 99, 132, 1)
                        [pointRadius] => 1
                        [pointHoverRadius] => 13
                        [showLine] => 1
                        [pointStyle] => triangle
                        [fill] => 
                    )
     
                [unit] => V
                [chartContainer] => ba
                [id_sensor_type] => 5
                [id_sensor] => 25
            )
     
    )

    Voilà, maintenant je dois copier les mesures dans [measures]

    Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    (
        [0] => Array
            (
                [id_station] => 6
                [station_longname] => ST 6
                [id_station_type] => 1
                [station_type_name] => Gel de printemps
                [station_archive] => 1
                [lat] => 46.173393
                [lng] => 6.004297
                [alt] => 460.00
                [id_field] => 1
                [measures] => Array
                    (
                    )
     
            )
     
    )
    Mais je me casse la tete. J'ai essayé

    Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
     
    foreach($dataset as $st => $value)
    	{
    		echo '<pre>';
    		echo $value['id_station'];
    		echo '-';
    		echo $dataset[$st]['id_station'];
    		echo '</pre>;';
     
     
    		//echo '<pre>AAAAAAAA';
    		//print_r(get_measure($dataset[$st]['id_station'], $to, $from, $connect, $dataset, $debug));
    		//echo 'BBBBBBB</pre>';
     
     
    		array_merge($dataset[$st]['measures'], get_measure($value['id_station'], $to, $from, $connect, $dataset, $debug));
     
    		echo '<pre>';
    		print_r($dataset);
    		echo '</pre>';
    	}
     
     
    	echo '<pre>';
    	print_r($dataset);
    	echo '</pre>';
    array_merger(array1, array2)
    array_replace(array, array2)

    mais ca ne me copie rien du tout

    Mais pourquoi? je merge du array, ca doit le faire, non?

  2. #2
    Invité
    Invité(e)
    Par défaut
    Si j'ai bien compris:
    le tableau des éléments concatinés est placé dans $dataset[$st]['measures']

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $dataset[$st]['measures'] =array_merge(get_measure($value['id_station'], $to, $from, $connect, $dataset, $debug));

  3. #3
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 333
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 333
    Billets dans le blog
    17
    Par défaut
    Tu ne dis pas comment tes mesures doivent être stockés dans measures.

  4. #4
    Membre expérimenté
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 167
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 167
    Par défaut
    Bonjour

    Je voulais effacer ce poste car j'ai trouvé, mais surotut que la réponse étant très simple (pourtant j'avais essayé ca).
    Probalement que j'avais un manque de someil....

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $dataset[$st]['measures']
    C'est un array

    Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    foreach($dataset as $st => $value)
    			{
     
    				$dataset[$st]['station_found'] = true;
     
    				$arrayTemp = get_measure($dataset[$st]['id_station'], $to, $from, $connect, $debug);
    				(count($arrayTemp) > 0) ? $dataset[$st]['measures_found'] = true : $dataset[$st]['measures_found'] = false;
    				$dataset[$st]['measures'] = $arrayTemp;
    			}
    Je ne sais pas pourquoi le égal ($dataset[$st]['measures'] = $arrayTemp n'avais pas fonctionner, mais peut être qu'une erreur était resté dans mon code, ou j'ai trop insisté avec le array_merge() ou le array_replace()

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Comment créer un array à deux dimensions avec une boucle
    Par m4riachi dans le forum Collection et Stream
    Réponses: 2
    Dernier message: 11/05/2015, 16h17
  2. Réponses: 2
    Dernier message: 29/06/2011, 17h33
  3. [CR] Comment faire deux order by suivant un parametre?
    Par speed034 dans le forum SAP Crystal Reports
    Réponses: 4
    Dernier message: 15/09/2004, 16h28
  4. comment comparer deux dates?
    Par billoum dans le forum C++Builder
    Réponses: 2
    Dernier message: 21/08/2004, 21h08
  5. comment lier deux tables?????
    Par baboune dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 16/03/2004, 14h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo