2016-03-15 44 views
1

似乎真的很容易,但我似乎无法弄清楚对象...如何将数据添加到从WordPress的get_results在PHP

我有一个简单的直线,通过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; 

回答

0
$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); 
+0

请检查$ sql_results的代码 – WisdmLabs

+0

男人,你是一位PHP神!我从不理解'$ str - > $ val'和'$ str => $ val'和'$ str [$ val]'之间的区别。 但是,这解决了我的问题!谢谢! – mesqueeb

0
$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); 
+0

我尝试这样做测试,但没有奏效: $测试=阵列 \t \t( \t \t阵列( “ID”=> “35”, “名” =>“43”,“年龄”=>“43”), \t \t array(“ID”=>“34”,“name”=>“James”,“age”=>“19”), \t \t array(“ID”=>“31”,“name”=>“Joe”,“age”=>“40”) \t \t); ($ test = $ key => $ value){ \t $ value ['solution'] ='good'; \t} \t $ result = $ test; \t var_dump($ result); \t echo“

”; \t $ result = json_encode($ result); \t echo $ result; – mesqueeb

+0

请参考上面的新答案以获取包含代码的评论。 – WisdmLabs

+0

WisdmLabs你想知道一些奇怪的东西? 它适用于测试对象。但是,一旦我用'$ sql_search'替换'$ test',那么它会给我一个'500内部错误'......你以前有过吗? – mesqueeb