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 :

Warning: array_multisort() [function.array-multisort]: Array sizes are inconsistent i


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé Avatar de lodan
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    2 064
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 064
    Par défaut Warning: array_multisort() [function.array-multisort]: Array sizes are inconsistent i
    Bonjour,

    Lors d'un tri, j'ai l'erreur suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Warning: array_multisort() [function.array-multisort]: Array sizes are inconsistent in
    Le tableau $commandes que je veux trier est :

    Code : 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
    array(
        '0' => array(
            '0' => '1',
            'tri' => '1',
            '1' => 'CE',
            'oper_descriptif_court' => 'CE',
            '2' => '1',
            'oper_sur_facture' => '1',
            '3' => '1',
            'id_reglement_mode' => '1',
            '4' => '10.50',
            'cmd_regl_montant' => '10.50',
            '5' => '66138',
            'id_cmd_reglement' => '66138',
        ),
        '1' => array(
            '0' => '1',
            'tri' => '1',
            '1' => 'CE',
            'oper_descriptif_court' => 'CE',
            '2' => '1',
            'oper_sur_facture' => '1',
            '3' => '1',
            'id_reglement_mode' => '1',
            '4' => '38.40',
            'cmd_regl_montant' => '38.40',
            '5' => '66140',
            'id_cmd_reglement' => '66140',
        ),
        '2' => array(
            '0' => '1',
            'tri' => '1',
            '1' => 'CE',
            'oper_descriptif_court' => 'CE',
            '2' => '1',
            'oper_sur_facture' => '1',
            '3' => '1',
            'id_reglement_mode' => '1',
            '4' => '5.91',
            'cmd_regl_montant' => '5.91',
            '5' => '66141',
            'id_cmd_reglement' => '66141',
        ),
        '3' => array(
            '0' => '1',
            'tri' => '1',
            '1' => 'CE',
            'oper_descriptif_court' => 'CE',
            '2' => '1',
            'oper_sur_facture' => '1',
            '3' => '1',
            'id_reglement_mode' => '1',
            '4' => '23.10',
            'cmd_regl_montant' => '23.10',
            '5' => '66142',
            'id_cmd_reglement' => '66142',
        ),
    );
    Voici le tri :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    // Préparation du tri du tableau des commandes
    	foreach ($commandes as $key => $row)
    	{
    		$oper_descriptif_court[$key] = $row['oper_descriptif_court'];
    		$tri[$key] = $row['tri'];
    		$id_reglement_mode[$key] = $row['id_reglement_mode'];
    	}
     
    	// Tri du tableau des commandes
    	array_multisort($oper_descriptif_court, SORT_ASC, $tri, SORT_ASC, $id_reglement_mode, SORT_ASC, $commandes);
    Pouvez-vous m'éclairer sur cette erreur.

    Merci d'avance.

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    343
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 343
    Par défaut
    dernière ligne de chaque sous tableau avec une virgule?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    '0' => array(
            '0' => '1',
            'tri' => '1',
            '1' => 'CE',
            'oper_descriptif_court' => 'CE',
            '2' => '1',
            'oper_sur_facture' => '1',
            '3' => '1',
            'id_reglement_mode' => '1',
            '4' => '10.50',
            'cmd_regl_montant' => '10.50',
            '5' => '66138',
            'id_cmd_reglement' => '66138',  // <===== là?
        ),

  3. #3
    Membre éprouvé Avatar de lodan
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    2 064
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 064
    Par défaut
    Citation Envoyé par tatareau Voir le message
    dernière ligne de chaque sous tableau avec une virgule?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    '0' => array(
            '0' => '1',
            'tri' => '1',
            '1' => 'CE',
            'oper_descriptif_court' => 'CE',
            '2' => '1',
            'oper_sur_facture' => '1',
            '3' => '1',
            'id_reglement_mode' => '1',
            '4' => '10.50',
            'cmd_regl_montant' => '10.50',
            '5' => '66138',
            'id_cmd_reglement' => '66138',  // <===== là?
        ),

    Merci, mais c'est juste ma fonction printr qui la met, dans le tableau je ne l'ai pas.

  4. #4
    Membre chevronné
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    343
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 343
    Par défaut
    Je pense à une remarque du manuel php sur les array_multisort qui demande un tableau de colonne alors que tu tris des tableaux de lignes ce qui me semble être ton cas.

    Va voir du côté manuel PHP

  5. #5
    Membre éprouvé Avatar de lodan
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    2 064
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 064
    Par défaut
    Merci beaucoup,

    Je vais faire des recherche et tester.

  6. #6
    Membre éprouvé Avatar de lodan
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    2 064
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 064
    Par défaut
    Un peu plus d'info.

    En fait j'ai 2 tris dans mon script et il n'aime pas très bien cela.

    Je tri un 1er tableau que je met dans un second qui a déjà des données.

    Ensuite, je tri le second.

    Donc tri sur tri, il n'aime pas.

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

Discussions similaires

  1. Array sizes are inconsistent
    Par Mzr dans le forum Langage
    Réponses: 3
    Dernier message: 14/04/2013, 22h31
  2. Réponses: 4
    Dernier message: 22/09/2010, 14h42
  3. [MySQL] Function php et array qui reste vide
    Par christophe1245 dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 20/03/2010, 17h13
  4. Réponses: 22
    Dernier message: 18/02/2010, 18h59
  5. probleme cannot allocate an array of constant size 0
    Par sebintokyo dans le forum C++
    Réponses: 2
    Dernier message: 26/06/2009, 07h27

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