devellopah
@devellopah

Как такое сделать в пхп?

Есть коллекция, например,
$products = [ { value: '1000 рублей'  }, { value: '500 рублей' }, { value: '5000 рублей'  } ];

Как мне получить в переменную, скажем, $total_price, общую стоимость, то есть 6500 (только число).
Подскажите, если не сложно.
  • Вопрос задан
  • 171 просмотр
Решения вопроса 1
roswell
@roswell
и швец, и жнец, и на дуде игрец
$products = json_decode( '[{"value":"1000 рублей"},{"value":"500 рублей"},{"value":"5000 рублей"}]', true );
// или
$products = [ [ 'value' => '1000 рублей' ], [ 'value' => '500 рублей' ], [ 'value' => '5000 рублей' ] ];

$total_price = array_reduce( $products, function( $v, $i ) {
    $v += intval( $i[ 'value' ], 10 );
    return $v;
} );

echo $total_price; // 6500
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
Austin_Powers
@Austin_Powers
Web developer (Symfony, React.js)
Как и в любом другом ЯП:
1) Проходить циклом по объектам коллекции
2) Парсить значение в value (в данном случае можно с помощью функции explode)
3) Суммировать полученное значение в $total_price
Ответ написан
jkd
@jkd
Ну ты как то перемешал понятия...
Такой семантики в PHP нет..
массив в PHP
$products = [
[ 'value'=> 1000],
[ 'value'=> 500],
[ 'value'=> 5000]
];

или
$products = [
1000,
500,
5000
];

Ну и сумма
$sum=array_reduce($products,function($n,$v){
$n += $v;
return $n;
});
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы