我从数据库中获取数据并获取json结果.Result就是这样。
[{\"product\":\"AAAAAA\"},{\"product\":\"WWWWW\"}] .
我试图用preg_replace函数删除slace。但它没有工作。
preg_replace('/[^A-Za-z0-9\-]/', $string);
我的SQL查询是。
$user1 = $wpdb->get_results("select product,checked_by,date(submit_date) from diary_user_form_storage where DATE(submit_date) = CURDATE() ;");
foreach ($user1 as $key => $value) {
json_decode($value->product);
echo $result=$value->product;
}
输出结果是
[{\"product\":\"AAAAAA\"},{\"product\":\"WWWWW\"}][{\"product\":\"FFFF\"},{\"product\":\"ASSS\"}]
我想解码这个json并尝试获取键值。任何帮助
答案 0 :(得分:0)
首先你不需要删除反斜杠..
你应该用bool $ assoc = true;
提供json_decode所以它将返回一个关联数组
$json = "[{\"product\":\"AAAAAA\"},{\"product\":\"WWWWW\"}]";
$array = json_decode($json, true);
var_dump($array);
$user1 = $wpdb->get_results(
"select product,checked_by,date(submit_date) from diary_user_form_storage where DATE(submit_date) = CURDATE() ;
");
$jsonString = "";
foreach ($user1 as $key => $value) {
$productString = stripslashes($value->product);
$product = json_decode($productString, true);
var_dump($product): // array of key and value
echo $result=$value->product;
}
答案 1 :(得分:0)
您可以使用json_decode()。
$data = [{\"product\":\"AAAAAA\"},{\"product\":\"WWWWW\"}];
print_r(json_decode($data, true));
,你的输出将是这样的:
Array ( [0] => Array ( [product] => AAAAAA ) [1] => Array ( [product] => WWWWW ) )
答案 2 :(得分:0)
请尝试以下代码,
$ user1 = $ wpdb-> get_results("从diary_user_form_storage中选择product,checked_by,date(submit_date),其中DATE(submit_date)= CURDATE();"); foreach($ user1 as $ key => $ value){
json_decode($value->product);
// I think you got output for $value->product like this "[{\"product\":\"AAAAAA\"},{\"product\":\"WWWWW\"}]", if yes, then follow below code
$pro = json_decode("[{\"product\":\"AAAAAA\"},{\"product\":\"WWWWW\"}]");
foreach ($pro as $p) {
echo $p->product;
}
}
输出是: AAAAAAWWWWW