Вычисления и операции с ценами на PHP

В статье представлены некоторые операции над ценами.

1

Наценки и скидки

10% от цены

$price = 1000;
echo $price * 10 / 100;
PHP
100

Увеличение цены на 10%

$price = 1000;

// Вариант 1
echo $price * 1.10;

// Вариант 2
echo $price + ($price * 10 / 100);
PHP
1100

Уменьшение цены на 10%

$price = 1000;

// Вариант 1
echo $price * 0.90;

// Вариант 2
echo $price - ($price * 10 / 100);
PHP
900

Для удобства можно использовать функции:

// Наценка
function markup($price, $percent)
{
	return $price + ($price * $percent / 100);
}

// Скидка
function sale($price, $percent)
{
	return $price - ($price * $percent / 100);
}
PHP
2

Средняя закупочная или продажная цена

Если речь идет о закупках/продажах одного товара по разным ценам и разным количеством подойдет средняя арифметическая взвешенная величина.

В примере имеется массив $prods с количеством и ценами за единицу товара, вычеслим среднюю арифметическую сумму всех поступлений, потом среднюю арифметическую по каждому приходу и разделим на общее количество товаров.

$prods = array(
	array(
		'price' => 58.4,
		'count' => 10
	),
	array(
		'price' => 59,
		'count' => 5
	),
	array(
		'price' => 56,
		'count' => 3
	),
);

$p = $c = 0;
foreach ($prods as $row) {
	$p += $row['price'] * $row['count'];
	$c += $row['count'];
}

echo $p / $c;
PHP
58.16
3

Прибыльность за одну единицу товара

Имеем два массива $coming – поступление товара на склад, $sales – продажи. Из них вычислим средние цены закупки и продажи. Разность этих цен и будет прибыльность за единицу товара.

// Поступление на склад:
$coming = array(
	array(
		'price' => 100,
		'count' => 5
	),
	array(
		'price' => 110,
		'count' => 2
	),
	array(
		'price' => 105,
		'count' => 3
	),
);

// Продажи:
$sales = array(
	array(
		'price' => 120,
		'count' => 3
	),
	array(
		'price' => 121,
		'count' => 2
	),
	array(
		'price' => 130,
		'count' => 1
	),
);

// Средняя арифметическая поступлений.
$p = $c = 0;
foreach ($coming as $row) {
	$p += $row['count'] * $row['price']; 
	$c += $row['count'];
}
$coming_price = $p / $c;

// Средняя арифметическая продаж.
$p = $c = 0;
foreach ($sales as $row) {
	$p += $row['count'] * $row['price']; 
	$c += $row['count'];
}
$sales_price = $p / $c;

// Прибыльность товара:
$total = $sales_price - $coming_price;
echo $total;
PHP
18.5
15.03.2018, обновлено 27.08.2019 1503
Предыдущая запись Работа с ценами PHP

Поделится

Темы

Цены

Другие публикации

В статье приведен пример формы и php скрипта для безопасной загрузки файлов на сервер, метод отправки файлов через...
Данный вопрос возникает при верстке писем т.к. стили прописанные в head в почтовых сервисах и программах не работают, а...
PHP функции для перевода текста, ЧПУ, ссылок и имен файлов в транслит.
В данном примере описано как вывести многоуровневый список checkbox и radio button из БД с помощью PHP функций...