我有一个包含逗号分隔的数字的字符串。即,1,2,3,6...
。我已经使用爆炸删除了逗号。现在我想匹配数据库中的相应值。`json_encode`不能用于爆炸
我的代码是,
$color = "1,2,3,9,5";
$color_split = explode(",", $color);
foreach($color_split as $item)
{
$select_color = "SELECT * FROM tbl_product_color WHERE color_id = '$item'";
$select_color_q = mysqli_query($c, $select_color) or die(mysqli_error($c));
$length = mysqli_num_rows($select_color_q);
if($length > 0)
{
while($select_color_r = mysqli_fetch_object($select_color_q))
{
$var[] = $select_color_r;
}
$var = json_encode($var);
echo '{"color_list":'.$var.'}';
}
else
{
$arr = array('status'=>"notfound");
echo '{"color_list":['.json_encode($arr).']}';
}
}
现在输出,
{"color_list":[{"color_id":"1","color_name":"White","color_code":"#f2f2f2"}]}
and one error,
Fatal error: [] operator not supported for strings in C:\wamp\www\jithin\get_color.php on line 18
线18包含$var[] = $select_color_r;
我需要的输出,
{"color_list":[{"color_id":"1","color_name":"White","color_code":"#f2f2f2"},{"color_id":"2","color_name":"Black","color_code":"#000000"},{"color_id":"3","color_name":"Red","color_code":"#F000000"},...]}
你没有定义'$ var'为阵列。 –
@CharlotteDunois:在定义'$ var'后,结果是'{“color_list”:[{“color_id”:“1”,“color_name”:“White”,“color_code”:“#f2f2f2”}]} { color_list “:[{” COLOR_ID “:” 2" , “COLOR_NAME”: “黑”, “color_code”: “#000000”}]} ...'。我希望以'{“color_list”:[{“color_id”:“1”,“color_name”:“White”,“color_code”:“#f2f2f2”},{“color_id”:“2”,“color_name” :“Black”,“color_code”:“#000000”},{“color_id”:“3”,“color_name”:“Red”,“color_code”:“#F000000”},...]}' –
Then你需要检查数组结构,如果它是你想要的。如果没有,你需要改变它。 –