Как удалить объект stdClass IN Codeigniter PHP - PullRequest
0 голосов
/ 24 мая 2019

Как удалить объект stdClass в PHP?

Контроллер:

$detail['shipping'] = $this->Mymodel->Tcs_get_data('shipment_master'); Вот мой ARRAY

Просмотр:

Использование print_r($shipping);

Array ( [0] => stdClass Object ( [sc_id] => 1 [sc_amount_s] => 0 [sc_amount_e] => 4999 [sc_charges] => 150 [sc_status] => 0 [sc_delete] => 0 ) [1] => stdClass Object ( [sc_id] => 2 [sc_amount_s] => 5000 [sc_amount_e] => 9999 [sc_charges] => 100 [sc_status] => 0 [sc_delete] => 0 ) [2] => stdClass Object ( [sc_id] => 4 [sc_amount_s] => 10000 [sc_amount_e] => 99999 [sc_charges] => 0 [sc_status] => 0 [sc_delete] => 0 ) )

Ответы [ 3 ]

0 голосов
/ 24 мая 2019

Имеется ассоциативный массив объектов.

stdClass обозначает объект, доступ к которому осуществляется через указатель ->.

$shipping[0]->sc_id - это способ доступа к объекту stdClass в массиве, тогда как в ассоциативном массиве без объектов это $shipping[0]['sc_id'].

Если вы хотите использовать чистомассивы, то вам нужно придерживаться result_array() и row_array().

Для ясности, хотя вы можете увидеть stdClass в print_r, он не «виден» в виде строкии только обозначает, что это объект.

0 голосов
/ 24 мая 2019

В контроллере напишите этот код,

$temp = $this->Mymodel->Tcs_get_data('shipment_master');
$detail['shipping'] = json_decode(json_encode($temp), true); // true is for making it array
0 голосов
/ 24 мая 2019

Вы можете использовать result_array() вместо result() в запросе модели ИЛИ сделать это:

$shippingArray = [];
foreach ($shipping as $key => $value) {
    array_push($shippingArray, $value)
}
print_r($shippingArray);

Поместив все значения в другой массив

ИЛИ вы можете использовать текущий массивобъект на ваш взгляд НРАВИТСЯ:

foreach ($shipping as $key => $value) {
    // Here you can use $value as you want..
    // echo '<tr><td>'. $value->sc_amount_e .'</td></tr>'; 
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...