8768 sujets

Développement web côté serveur, CMS

Bonsoir tout le monde,

j'obtiens le tableau suivant après un dump sur un array_merge de 2 requêtes sql :


array:4 [?
  0 => array:1 [?
    "mistake" => "1"
  ]
  1 => array:1 [?
    "mistake" => "5"
  ]
  2 => array:1 [?
    "mistake" => "1"
  ]
  3 => array:1 [?
    "mistake" => "11"
  ]
]


Je voudrais maintenant pouvoir dénombrer les valeurs de "mistake" sans faire de doublons.

comment ? Smiley merci
Un truc du genre ?

$mistakes = array();
foreach ($ton_tableau as $k => $v) {
	if(!in_array($v['mistake'],$mistakes)) $mistakes[] = $v['mistake'];
}
$mistakes_nb = count($mistakes);

Modifié par Mathieu8337 (22 Nov 2019 - 08:29)
Mathieu8337 a écrit :
Un truc du genre ?

$mistakes = array();
foreach ($ton_tableau as $k => $v) {
	if(!in_array($v['mistake'],$mistakes)) $mistakes[] = $v['mistake'];
}
$mistakes_nb = count($mistakes);


En fait ceci me retourne le nombre d'entrées du tableau ... Ce que je voudrais c'est avoir le nombre d'entrées unique Smiley rolleyes
Modifié par moko (23 Nov 2019 - 06:51)
JENCAL a écrit :
Yo

Sinon au lieu de réinventé la roue tu as array_unique Smiley smile


J'ai essayé ça, mais je vois pas trop comment faire côté syntaxe : j'ai tenté un $result = array_unique($mon_tableau); qui me donne une erreur : Notice: Array to string conversion !!
moko a écrit :
En fait ceci me retourne le nombre d'entrées du tableau ... Ce que je voudrais c'est avoir le nombre d'entrées unique Smiley rolleyes

Bah... fais un var_dump($mistakes) pour vérifier mais le principe de cette boucle, c'est de mettre les valeurs de ton tableau dans le tableau $mistakes que si elles n'y sont pas déjà...
Modifié par Mathieu8337 (23 Nov 2019 - 10:08)
Et voilà Smiley smile
$nbrErreur = count(array_unique(array_column($erreur, 'mistake')));

Merci beaucoup Mathieu8337 et JENCAL Smiley merci
Modifié par moko (24 Nov 2019 - 18:59)