如何从 PHP 中的 Wordpress get_results 将数据添加到 OBJECT

Posted

技术标签:

【中文标题】如何从 PHP 中的 Wordpress get_results 将数据添加到 OBJECT【英文标题】:How to add data to OBJECT from Wordpress get_results in PHP 【发布时间】: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;

【问题讨论】:

【参考方案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 的示例。在底部我添加了我正在测试的内容。

以上是关于如何从 PHP 中的 Wordpress get_results 将数据添加到 OBJECT的主要内容,如果未能解决你的问题,请参考以下文章

在functions.php文件中调用它时,Wordpress没有从数据库获取值

Wordpress - 我如何从其他自定义帖子中获取_categories?

将 $_GET 变量从 Wordpress 页面传递到外部 iFrame

尝试从 ajax(Wordpress 插件)将 FormData 中的 Blob 发布到 php 时出现 400(错误请求)

php 将变量传递给get_template_part()作为Wordpress中的参数

如何从 PHP 代码自定义 Wordpress DashBoard 中的用户角色?