[résolu] in_array inopérant dans foreach

Eléphant du PHP | 256 Messages

15 janv. 2012, 13:13

Bonjour,

Ma page est appelée avec une variable $_GET, qui peut-être différente. En fonction de cette variable, je veux générer des données. Or, dans une boucle foreach, j'ai une syntaxe avec in_array, qui me renvoie l'erreur Warning: in_array() [function.in-array]: Wrong datatype for second argument ...

Voici mon code....
$items = $requests[0]; /* Ici correspondant à la valeur 'joueur' après un Explode sur la variable $_GET */
$out_data = '';
foreach ($$items as $key => $item) /* J'ai découvert l'intérêt du double '$$' par hasard */
{
/* ... */
$out_data .= "\t".'graph'.($key+1).'.valueField = "'.$items_replace[$key].'";'. "\n";
if (!(in_array($item, $items_display))): /* 'players_display' correspond à un tableau bien sûr */
	$out_data .= "\t".'graph'.($key+1).'.hidden = true;'. "\n";
endif;
$out_data .= "\t".'graph'.($key+1).'.lineThickness = '.$linethickness.';'. "\n";
/* ... */
}
Je n'ai rien trouvé de bien intéressant pour résoudre mon problème.

Mille mercis. :D

Gaspard
Modifié en dernier par Castor Gaspard le 15 janv. 2012, 15:36, modifié 1 fois.

ViPHP
xTG
ViPHP | 7331 Messages

15 janv. 2012, 14:35

$items_display n'est pas un array. ;)

Eléphant du PHP | 256 Messages

15 janv. 2012, 15:38

Bonjour,

Merci, xTG de m'avoir remis dans le droit chemin. :mrgreen:

Du coup, je copie le tableau players_display avant la boucle, et ça marche fort bien.

Encre merci,

Cordialement,

Gasaprd