Loading public/public/Actions/SortPriceAction.php 0 → 100644 +27 −0 Original line number Diff line number Diff line <?php namespace App\Actions; class SortPriceAction { /** * Выполняет сортировку массива по убыванию цены * @param array $array * @return array отсортированный */ public static function sort(array $array) { $priceColumn = array_column($array, "price"); $countColumn = array_column($array, "count"); array_multisort( $priceColumn, SORT_DESC, $countColumn, SORT_ASC, $array ); return $array; } } public/public/TestData/TestData.php +23 −0 Original line number Diff line number Diff line Loading @@ -8,6 +8,29 @@ namespace App\TestData; class TestData { public const PRICE_COUNT_ARRAY = [ [ 'price' => 4, 'count' => 2, ], [ 'price' => 4, 'count' => 1, ], [ 'price' => 2, 'count' => 10, ], [ 'price' => 1, 'count' => 4, ], [ 'price' => 3, 'count' => 4, ], ]; public const RAW_MENU = [ [ 'name' => 'Смартфоны и гаджеты', Loading public/public/index.php +5 −0 Original line number Diff line number Diff line Loading @@ -3,6 +3,7 @@ require_once __DIR__ . '/../vendor/autoload.php'; use App\Actions\HowDaysToNYAction; use App\Actions\SortPriceAction; use App\Actions\IdSearchAction; use App\Actions\PrepareMenuAction; use App\TestData\TestData; Loading @@ -11,6 +12,10 @@ echo 'HowDaysToNYAction: <br>'; echo "Дней до нового года (в днях): ". HowDaysToNYAction::count(new DateTimeImmutable()); echo '<hr>'; echo 'SortPriceAction: <br>'; var_dump(SortPriceAction::sort(TestData::PRICE_COUNT_ARRAY)); echo '<hr>'; echo 'PrepareMenuAction: <br>'; var_dump(PrepareMenuAction::prepare(TestData::RAW_MENU)); echo '<hr>'; Loading Loading
public/public/Actions/SortPriceAction.php 0 → 100644 +27 −0 Original line number Diff line number Diff line <?php namespace App\Actions; class SortPriceAction { /** * Выполняет сортировку массива по убыванию цены * @param array $array * @return array отсортированный */ public static function sort(array $array) { $priceColumn = array_column($array, "price"); $countColumn = array_column($array, "count"); array_multisort( $priceColumn, SORT_DESC, $countColumn, SORT_ASC, $array ); return $array; } }
public/public/TestData/TestData.php +23 −0 Original line number Diff line number Diff line Loading @@ -8,6 +8,29 @@ namespace App\TestData; class TestData { public const PRICE_COUNT_ARRAY = [ [ 'price' => 4, 'count' => 2, ], [ 'price' => 4, 'count' => 1, ], [ 'price' => 2, 'count' => 10, ], [ 'price' => 1, 'count' => 4, ], [ 'price' => 3, 'count' => 4, ], ]; public const RAW_MENU = [ [ 'name' => 'Смартфоны и гаджеты', Loading
public/public/index.php +5 −0 Original line number Diff line number Diff line Loading @@ -3,6 +3,7 @@ require_once __DIR__ . '/../vendor/autoload.php'; use App\Actions\HowDaysToNYAction; use App\Actions\SortPriceAction; use App\Actions\IdSearchAction; use App\Actions\PrepareMenuAction; use App\TestData\TestData; Loading @@ -11,6 +12,10 @@ echo 'HowDaysToNYAction: <br>'; echo "Дней до нового года (в днях): ". HowDaysToNYAction::count(new DateTimeImmutable()); echo '<hr>'; echo 'SortPriceAction: <br>'; var_dump(SortPriceAction::sort(TestData::PRICE_COUNT_ARRAY)); echo '<hr>'; echo 'PrepareMenuAction: <br>'; var_dump(PrepareMenuAction::prepare(TestData::RAW_MENU)); echo '<hr>'; Loading