Je suis face à une situation très étrange qui a à voir avec le Warning: Cannot use a scalar value as an array and memory leak.
PHP - Problème avec la valeur scalaire et fuite de mémoire
Le script est très simple et je ne peux pas comprendre le problème.
code
$variants=array();
if($text)
{
$v=explode(",",$text);
if(is_array($v) && sizeof($v)>0)
{
foreach($v as $i=>$part)
{
$tmp=explode(":",$part);
list($thekey,$thevalue)=$tmp;
//$variants=array();
echo "<div>TYPE==".gettype($variants)."</div>";
echo $variants[$tmp[0]]=$tmp[1];
}
}
}
Si je lance le code ci-dessus comme seul support fonctionne très bien. Mais quand le mettre dans mon cadre comme une petite partie se comporte très étrange. Je suis un Warning: Cannot use a scalar value as an array
et afin de le résoudre, j'ai ajouté
$variants=array();
sur la première ligne. Lors de l'exécution du script, le gettype
renvoie ���
la première fois et après cela retourne un entier.
Si je commente $variants=array();
juste avant le gettype
, cela fonctionne. Mais bien sûr, je ne comprends pas tout le tableau, seulement le dernier retour d'enregistrement.
J'analyse mon code pour découvrir que les variables que j'utilise sont déclarées avant même que je change tous les noms de variables en stupides mais pas de chance.
En essayant de déboguer et de régler le code où les temps que lors de l'exécution du script au lieu de voir quelque chose dans l'écran, le navigateur télécharger le script à la place et d'autres fois j'ai eu des fuites de mémoire. Est-ce que quelqu'un peut indiquer où ou quoi chercher, ou le déboguer et le résoudre?
Qu'est-ce qui est contenu dans $ id? – methodin
Exemple @methodin $ id = "text1" et $ value ont la valeur de $ text1 – ntan
Est-ce que dessiner définit la variable comme un pointeur? Aussi, êtes-vous assuré que la valeur if $ id ne pointe pas vers un tableau ou quelque chose de ce genre? Cette erreur se produit généralement lorsque vous utilisez un type primitif en tant que tableau. $ a = 2; $ a ['blah'] = 'test'; – methodin