我试图从json打印键值

时间:2017-10-11 06:16:20

标签: php mysql json wordpress

我从数据库中获取数据并获取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并尝试获取键值。任何帮助

3 个答案:

答案 0 :(得分:0)

json_decode php manual

首先你不需要删除反斜杠..

你应该用bool $ assoc = true;

提供json_decode

所以它将返回一个关联数组

例如:

$json = "[{\"product\":\"AAAAAA\"},{\"product\":\"WWWWW\"}]";
$array = json_decode($json, true);
var_dump($array);

enter image description here

$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
        )

)

http://php.net/manual/en/function.json-decode.php

答案 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