diff --git a/public/public/Actions/IdSearchAction.php b/public/public/Actions/IdSearchAction.php new file mode 100644 index 0000000000000000000000000000000000000000..d573d2bcc6b0ff70e96c7fd13bbaa0507f5444e6 --- /dev/null +++ b/public/public/Actions/IdSearchAction.php @@ -0,0 +1,28 @@ +<?php + +namespace App\Actions; + +class IdSearchAction +{ + /** + * Ðайдет Ñлемент Ñ ÑƒÐºÐ°Ð·Ð°Ð½Ñ‹Ð¼ id + * @param array $array - маÑÑив, Ñодержащий Ñлементы Ñо Ñтруктурой + * [ + * 'id' => 30, + * 'name' => 'Jhon', + * 'age' => 23, + * ] + * @param $id - ид иÑкомого Ñлемента + * @return array|null - найденный Ñлемент/ вернет null при его отÑутÑтвии + */ + public static function search(array $array, $id): ?array + { + foreach ($array as $item){ + if ($item['id'] === $id){ + return $item; + } + } + + return null; + } +} diff --git a/public/public/TestData/TestData.php b/public/public/TestData/TestData.php index 29422351bd28b78a212b9411f2a72b86f255ca4c..648f6bb55549e64ecdd29b1edc54eb8b2b77ce37 100644 --- a/public/public/TestData/TestData.php +++ b/public/public/TestData/TestData.php @@ -66,4 +66,19 @@ class TestData 'depth' => 1, ], ]; + + public const ARRAY_FOR_SEARCHING = [ + [ + 'id' => 30, + 'name' => 'Sasha', + ], + [ + 'id' => 542, + 'name' => 'Adlan', + ], + [ + 'id' => 3234, + 'name' => 'Pavel', + ], + ]; } diff --git a/public/public/index.php b/public/public/index.php index 44c40c30aaefd2be3edbed43e74f6ad8ad6c7c7e..9bff0b46a1702dc54fc710d9c1936185c19c8f63 100644 --- a/public/public/index.php +++ b/public/public/index.php @@ -2,7 +2,14 @@ require_once __DIR__ . '/../vendor/autoload.php'; +use App\Actions\IdSearchAction; use App\Actions\PrepareMenuAction; use App\TestData\TestData; -var_dump(PrepareMenuAction::prepare(TestData::RAW_MENU)); \ No newline at end of file +echo 'PrepareMenuAction: <br>'; +var_dump(PrepareMenuAction::prepare(TestData::RAW_MENU)); +echo '<hr>' + +echo 'IdSearchAction: <br>' +var_dump(IdSearchAction::search(TestData::ARRAY_FOR_SEARCHING)); +echo '<hr>' \ No newline at end of file