И затем в функции js я я пытаюсь использовать JSON.parse, чтобы преобразовать его в объект js, чтобы я мог использовать данные моего массива.
Но я не могу его проанализировать, поскольку синтаксис Я получаю от кодировки нет правильно
исходный массив PHP:
array (size=3)
0 => string 'Bleu' (length=4)
1 => int 1
2 => string 'XL' (length=2)
Я использую для этого htmlspecialchars(json_encode()) и
результат, который мне нужно получить:
jsonTab = '["Bleu",1,"XL"]';
Но вместо этого после кодирования я получаю:
Bleu,1,XL
Я не понимаю, почему кодировка работает неправильно...
код PHP, в котором я создаю массив PHP, указывая размер каждого цвета товара:
$couleurs = $pdo ->getCouleurProduit($id);
$nbCouleur = count($couleurs);
$t = 1;
foreach ($couleurs as $uneCouleur)
{
$taille = $pdo ->getTaille($id,$uneCouleur[0]); // renvoie les taille de la couleur
$nbTaille = count($taille); // renvoie le bombrede taille n0 = 1
${'couleur'.$t} = array($uneCouleur[0]); // definie une tableaux nomé "couleurx" avec pour premier element le libelle de la couleur
array_push(${'couleur'.$t}, $nbTaille); // ajoute en second element au tableaux "couleurx" le nombre de taille pour la couleur
for ($i = 0; $i < $nbTaille; $i++ ) // tant que i est inferieur au nombre de taille
{
array_push(${'couleur'.$t}, $taille[$i][0]); // on ajoute au tableaux "couleurx" le libelle (a [0]) de chaque taille du tableaux $taille
}
${'cl'.$t} = htmlspecialchars(json_encode(${'couleur'.$t})); //on creer une variable clx qui prend la valeur encoder en json du tableau "couleurx" actuel
$t++;
}$couleurs = $pdo ->getCouleurProduit($id);
$nbCouleur = count($couleurs);
$t = 1;
foreach ($couleurs as $uneCouleur)
{
$taille = $pdo ->getTaille($id,$uneCouleur[0]); // renvoie les taille de la couleur
$nbTaille = count($taille); // renvoie le bombrede taille n0 = 1
${'couleur'.$t} = array($uneCouleur[0]); // definie une tableaux nomé "couleurx" avec pour premier element le libelle de la couleur
array_push(${'couleur'.$t}, $nbTaille); // ajoute en second element au tableaux "couleurx" le nombre de taille pour la couleur
for ($i = 0; $i < $nbTaille; $i++ ) // tant que i est inferieur au nombre de taille
{
array_push(${'couleur'.$t}, $taille[$i][0]); // on ajoute au tableaux "couleurx" le libelle (a [0]) de chaque taille du tableaux $taille
}
${'cl'.$t} = htmlspecialchars(json_encode(${'couleur'.$t})); //on creer une variable clx qui prend la valeur encoder en json du tableau "couleurx" actuel
$t++;
}
имгировать массив PHP для атрибута
$r=1;
foreach ($couleurs as $uneCouleur)
{?>
.jpg " alt = "lol" onclick="loadTaille();"/>
И js-файл produit.js
function loadTaille(img){
// var txt = "'[" + img + "]'";
// var txt = '["Bleu",1,"XL"]';
var tailles = JSON.parse(img);
alert (img)
}
Подробнее здесь: https://stackoverflow.com/questions/397 ... ecialchars
Мобильная версия