PHP создать массив из другого массиваPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 PHP создать массив из другого массива

Сообщение Anonymous »

У меня есть массив, полученный от API.

Код: Выделить всё

object(stdClass)#19498 (4) {
["success"]=>
bool(true)
["quoteId"]=>
int(0011)
["abcValue"]=>
float(00)
["priceResponse"]=>
array(4) {
[0]=>
object(stdClass)#19502 (9) {
["priceId"]=>
int(1263)
["fPrice"]=>
float(37.14)
["grossPrice"]=>
float(44.7)
["priceType"]=>
string(2) "ABC"
}
[1]=>
object(stdClass)#19501 (10) {
["priceId"]=>
int(1263)
["fPrice"]=>
float(37.14)
["grossPrice"]=>
float(44.7)
["priceType"]=>
string(2) "ABC"
}
[2]=>
object(stdClass)#19500 (8) {
["priceId"]=>
int(1266)
["fPrice"]=>
float(550.14)
["grossPrice"]=>
float(544.7)
["priceType"]=>
string(2) "DEF"
}
}
}
Я хочу пройтись по массиву, чтобы добавить еще один объект в PriceResponse, то есть customPrice, а также удалить некоторые объекты из массива, например fPrice, PriceType и т. д. Я решил, что лучший способ сделать это — создать еще один массив. Однако у меня не получается заставить это работать:

PHP:

Код: Выделить всё

$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 ... ther-array
Ответить

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

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

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

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

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