json_encodeに出力を入れますか?

In following PHP code in here //print_r($reunits); is output this: http://pastebin.com/RbqZ5kHV

but in here echo json_encode($reunits); is output as: http://pastebin.com/GFdHkg5Y

If use $reunits = array('reunits'=>$units_data); as: $reunits .=... i get this output in echo json_encode($reunits);: "ArrayArrayArray"

echo echo json_encode($ reunits); の出力で、出力を//print_r($ reunits); に出力する方法は?どのようにそれを修正できますか?

$reunits = "";
//$tourf_id   = $this->input->post('tour_name');
$tourf_id = '102';
//$query_r = $this->db->order_by('id','desc')->get_where('tour_foreign_residence', array('relation' => $tourf_id));
$query_r = array('77192276', '15190364', '15183965')
foreach($query_r->result() as $idx=>$val){
    $hotel_id = $val->hotel_id;
    $query = $this->db->get_where('tour_foreign_units', array('hotel_id' => $hotel_id));
        $units_data = array();
        foreach ($query->result() as $index=>$row) {
            $units_data[] = array(
                'name' => $row->name,
                'price' => $row->price,
                'extra' => $row->extra,
                'hotel_id' => $row->hotel_id
            );
        }
    $reunits =  array('reunits'=>$units_data);
    //print_r($reunits);
}
echo json_encode($reunits);

この出力は、json_encodeによってjqueryのajax呼び出しに送信されます。

0

2 答え

文字列連結演算子()で配列を連結すると、 の場合、配列は文字列(PHPでは "Array" )に変換され、連結されます。

代わりに配列演算子を使用してください:

$reunits+=...

2つの配列を結合します。ユニオンがあなたが探しているものでない場合は、 array_merge を使用できます。

一番上の変数を空の配列としても初期化することを忘れないでください:

$reunits = array();
0
追加された

で配列に追加しようとするのではなく、 [] 表記を使用して配列に追加する必要があります。

//Initialize reunits as an array
$reunits = array();


foreach($query_r->result() as $idx=>$val){
    $hotel_id = $val->hotel_id;
    $query = $this->db->get_where('tour_foreign_units', array('hotel_id' => $hotel_id));
        $units_data = array();
        foreach ($query->result() as $index=>$row) {
            $units_data[] = array(
                'name' => $row->name,
                'price' => $row->price,
                'extra' => $row->extra,
                'hotel_id' => $row->hotel_id
            );
        }


   //Append the array $units_data onto $reunits
   //since $units_data is already an array
    $reunits[] = $units_data;
}

// Now the JSON output should look like you expect
echo json_encode($reunits);
0
追加された
PHP - 日本のコミュニティ [ja]
PHP - 日本のコミュニティ [ja]
4 参加者の

このグループではPHPについて話します。 パートナー:kotaeta.com

JavaScript - 日本のコミュニティ
JavaScript - 日本のコミュニティ
2 参加者の

日本人コミュニティのjavascript