Вычислить новый столбец и удалить другие столбцы внутри вложенных объектов многомерного объекта.Php

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Вычислить новый столбец и удалить другие столбцы внутри вложенных объектов многомерного объекта.

Сообщение Anonymous »

Я получаю объект от API, который имеет следующую структуру:
{
"success": true,
"quoteId": 11,
"abcValue": 0,
"priceResponse": [
{
"priceId": 1263,
"fPrice": 37.14,
"grossPrice": 44.7,
"priceType": "ABC"
},
{
"priceId": 1263,
"fPrice": 37.14,
"grossPrice": 44.7,
"priceType": "ABC"
},
{
"priceId": 1266,
"fPrice": 550.14,
"grossPrice": 544.7,
"priceType": "DEF"
}
]
}

Я хочу пройтись по массиву PriceResponse, чтобы добавить новое вычисляемое свойство и удалить ненужные свойства из каждого дочернего объекта. Я решил, что лучший способ сделать это — создать еще один массив. Однако у меня ничего не получается.
Моя попытка кодирования:
$output_array = json_decode($output);
$modified_array = array();
$priceResultArray = array();

foreach($output_array as $j => $item) {

foreach($output_array->priceResponse as $i => $field) {
$percent = $field->grossPrice * 10 / 100;
$customPrice = $field->grossPrice + $percent;

$priceResultArray['priceId'] = $field->priceId;
$priceResultArray['customPrice'] = $customPrice;
}

$modified_array['success'] = $output_array->success;
$modified_array['quoteId'] = $output_array->quoteId;
$modified_array['priceResponse'] = $priceResultArray;
}
var_dump($modified_array);

Это выходные данные измененного массива — он показывает только последний результат PriceResultArray:
array(3) {
["success"]=>
bool(true)
["quoteId"]=>
int(0011)
["priceResult"]=>
array(5) {
["priceId"]=>
int(1266)
["customPrice"]=>
float(599.17)
}
}


Подробнее здесь: https://stackoverflow.com/questions/470 ... of-a-multi
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»