0

stdClass である配列があります。その配列の出力は次のとおりです。

Array
(
[0] => stdClass Object
    (
        [vendor_id] => 1
        [user_id] => 1
        [date_created] => 2013-06-12 16:48:38
        [date_edited] => 
        [status] => active
        [user_firstname] => Stuart
        [user_surname] => Blackett
    )
 )

私がやりたいことは、この stdClass に 2 つの変数を追加することです。それらは「total_bookings」と「total_venues」です。

現在、結果をループしてから、カウントを取得して合計を作成しています。これら 2 つの変数をその stdClass 配列の最後に追加したいと思います。

私のPHPは次のとおりです:

$vendors = $this->po_model->get_all_vendors();

        $this->template->set('total_vendors', count($vendors));

        $count = 0;

        foreach($vendors as $vendor)
        {
            $count++;

            $total_venues = $this->po_model->get_count_venues($vendor->user_id);
            $total_bookings = $this->po_model->get_count_bookings($vendor->user_id);

            $vendors[$count]['total_venues'] = $total_venues;
            $vendors[$count]['total_bookings'] = $total_bookings;
        }

ただし、配列が次のようになることを var_dump すると、次のようになります。

Array
(
    [0] => stdClass Object
        (
            [vendor_id] => 1
            [user_id] => 1
            [date_created] => 2013-06-12 16:48:38
            [date_edited] => 
            [status] => active
            [user_firstname] => Stuart
            [user_surname] => Blackett
        )

    [1] => Array
        (
            [total_venues] => 6
            [total_bookings] => 14
        )

)

私の質問は、total_venues と total_bookings をその stdClass() に追加するにはどうすればよいですか?

ありがとう

4

2 に答える 2

5
$myArray[$indexOfObject]->total_venues = 6;
$myArray[$indexOfObject]->total_bookings= 14;

あなたの例:

foreach($vendors as $key => $vendor)
{
    $total_venues = $this->po_model->get_count_venues($vendor->user_id);
    $total_bookings = $this->po_model->get_count_bookings($vendor->user_id);

    $vendors[$key]->total_venues = $total_venues;
    $vendors[$key]->total_bookings = $total_bookings;
}
于 2013-07-30T10:48:37.180 に答える
2

これはオブジェクトなので、配列表記ではなくオブジェクト表記を使用する必要があります。count++また、これらの 2 つの指示の下であなたの動きを変更します。

$vendors[$count]->total_venues = $total_venues;
$vendors[$count]->total_bookings = $total_bookings;

$count++;
于 2013-07-30T10:50:40.110 に答える