我正在编写自己的php类,该类中有多个函数。类似这样:
class JSON_API_Hello_Controller {
public function test_cat(){
global $json_api;
$posts = $json_api->introspector->get_posts(array( \'cat\' => 3));
return $this->posts_object_result_bycat($posts);
}
public function test_cat1() {
global $json_api;
$posts = $json_api->introspector->get_posts(array( \'cat\' => 2));
return $this->posts_object_result_bycat($posts);
}
protected function posts_object_result_bycat($posts) {
global $wp_query;
return array(
\'count\' => count($posts),
\'pages\' => (int) $wp_query->max_num_pages,
\'posts\' => $posts
);
}
public function mix_cat(){
$first_cat = $this->test_cat();
$second_cat = $this->test_cat1();
$json1 = json_decode($first_cat , true);
$json2 = json_decode($second_cat, true);
$final_array = array_merge($json1, $json2);
// Finally encode the result back to JSON.
$final_json = json_encode($final_array);
}
}
我试过这样的东西。我想打电话给
test_cat()
和
test_cat1()
其他函数中的函数,如
mix_cat()
在同一个类中。两种功能(
test_cat()
&;
test_cat1()
) 返回json对象。两个返回的json对象都将加入
mix_cat()
作用请建议我如何拨打
testcat()
&;
test_cat1()
中的函数
mix_cat()
并将这两个函数的结果
mix_cat()
作用
SO网友:bueltge
您可以通过以下方式合并这两个json对象array_merge
. 但必须先解码到数组。在下面的示例中,这是一个单源函数。这应该得到合并的json对象。
示例函数,可用于mix_cat()
方法
function mergeToJSON( $obj1, $obj2 ) {
$json1 = $this->test_cat();
$json2 = $this->test_cat1();
if ( $json1 === FALSE || $json2 === FALSE ) {
return;
}
$array1 = json_decode( $json1, TRUE );
$array2 = json_decode( $json2, TRUE );
$data = array_merge( $array1, $array2 );
return json_encode( $data );
}