【问题标题】:How to add data to OBJECT from Wordpress get_results in PHP如何从 PHP 中的 Wordpress get_results 将数据添加到 OBJECT
【发布时间】:2016-06-30 18:21:04
【问题描述】:

看起来很简单,但我似乎无法弄清楚......

我有一个简单的行,可以像这样通过 wordpress 获取 mysql 结果:

$sql_results = $wpdb->get_results($sql_phrase);

然后我将其解析为 JSON 并回显:json_encode($sql_results);

但是,我想在将其解析为 JSON 之前添加其他数据。但我不确定如何。

$sql_results 基本上给我一个帖子 ID、标题和类别的列表。 在 var_dump 中看起来像这样(这只是第一行):

array(1)
{
[0]=> object(stdClass)#2737 (7)
    {
    ["ID"]=> string(4) "2700"
    ["post_title"]=> string(18) "The compact helmet"
    ["category"]=> string(5) "Other"
    }
}

现在从简单的开始,我希望对象内的所有关联数组都具有额外的键值。我尝试了以下方法,但出现错误: 500 内部错误。

foreach($sql_search as $key => $value)
{
    $value['pic_img'] = "test";
    $sql_search[$key]=$value;       
}
$result=$sql_search;

【问题讨论】:

    标签: php mysql json wordpress associative-array


    【解决方案1】:
    $sql_results = array(1)
    {
    [0]=> object(stdClass)#2737 (7)
        {
        ["ID"]=> string(4) "2700"
        ["post_title"]=> string(18) "The compact helmet"
        ["category"]=> string(5) "Other"
        }
    }
        foreach($sql_results as $key=>$value)
        { 
            $value->solution = 'good';
            $sql_results[$key]=$value;
    
        }
    $result=$sql_results;
    var_dump($result);
    

    【讨论】:

    • 伙计,你是 PH​​P 之神!我从来不明白$str->$val$str=>$val$str[$val] 之间的区别。但这解决了我的问题!谢谢!
    【解决方案2】:
    $test = array ( array("ID"=>"35", "name"=>"Peter", "age"=>"43"), 
    
    array("ID"=>"34", "name"=>"James", "age"=>"19"), array("ID"=>"31", "name"=>"Joe", "age"=>"40") );
    
        foreach($test as $key=>$value)
        { 
            $value['solution'] = 'good';
            $test[$key]=$value;
    
        }
    $result=$test;
    var_dump($result);
    

    【讨论】:

    • 我试过这个来测试,但没有成功: $test = array ( array("ID"=>"35", "name"=>"Peter", "age"=> "43"), array("ID"=>"34", "name"=>"James", "age"=>"19"), array("ID"=>"31", "name"= >“乔”,“年龄”=>“40”)); foreach($test as $key=>$value){ $value['solution'] = 'good'; } $结果= $测试; var_dump($result);回声“

      ”; $result = json_encode($result);回声 $result;
    • 请参阅上面的新答案以获取包含代码的评论。
    • WisdmLabs 你想知道一些奇怪的事情吗?它适用于测试对象。但是一旦我将$test 替换为$sql_search,它就会给我一个500 internal error...你以前有过这个吗?
    • 谢谢!我在问题中分享了@98​​7654325@ 中的一行解析为 JSON 的示例。在底部我添加了我正在测试的内容。
    猜你喜欢
    • 2020-03-05
    • 2021-09-28
    • 2017-02-28
    • 2018-04-01
    • 2011-02-18
    • 2017-04-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多