Bonjour,
Malgré moultes tests et avoir cherché / retourné le problème dans tous les sens, je ne comprends pas les résultats que me retourne PHP pour une bête opération logique (ce qui a le don de m'exaspérer au passage !)
Fatigue ? Proche du pont ?
Si quelqu'un peut m'aider sur ce mystérieux et insondable problème... ! D'avance merci.
Résultat : non !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 $Infos = json_decode($Quelquechose,true); if ($Infos==false) return false; if (!in_array(array_keys($Infos),array('action','type','id'))) return ' non ! '; return ' oui ! ';
Résultat : non !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 $Infos = json_decode($Quelquechose,true); if ($Infos==false) return false; if (!in_array(array('action','type','id'),array_keys($Infos))) return ' non ! '; return ' oui ! ';
(Sachant que la structure du JSON est identique en tout point hein...)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 $Infos = json_decode($Quelquechose,true); if ($Infos==false) return false; if (array_keys($Infos) == array('action','type','id')) return ' non ! '; return ' oui ! ';
Résultat : oui !
Si je fais un var_dump sur les deux tableaux :
WTF ?! Pourquoi diable le in_array ne me retrouve pas l'existence des valeurs d'un des tableaux dans l'autre ?!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 array(3) { [0]=> string(6) "action" [1]=> string(4) "type" [2]=> string(2) "id" } array(3) { [0]=> string(6) "action" [1]=> string(4) "type" [2]=> string(2) "id" }
... Pour l'instant je fais du moche et cracra :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 if ( !in_array('action',array_keys($Infos)) OR !in_array('type',array_keys($Infos)) OR !in_array('id',array_keys($Infos)) )
Partager