Loading public/public/Actions/IdSearchAction.php 0 → 100644 +28 −0 Original line number Diff line number Diff line <?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; } } public/public/TestData/TestData.php +15 −0 Original line number Diff line number Diff line Loading @@ -9,4 +9,19 @@ namespace App\TestData; class TestData { public const FILE_PATH = "TestData/FileToRead.txt"; public const ARRAY_FOR_SEARCHING = [ [ 'id' => 30, 'name' => 'Sasha', ], [ 'id' => 542, 'name' => 'Adlan', ], [ 'id' => 3234, 'name' => 'Pavel', ], ]; } public/public/index.php +7 −0 Original line number Diff line number Diff line Loading @@ -2,9 +2,11 @@ require_once __DIR__ . '/../vendor/autoload.php'; use App\Actions\IdSearchAction; use App\Actions\ReadFileLineByLineAction; use App\TestData\TestData; echo 'ReadFileLineByLineAction: <br>' try { foreach (ReadFileLineByLineAction::read(TestData::FILE_PATH) as $line) { echo $line; Loading @@ -12,3 +14,8 @@ try { } catch (Exception $ex) { echo $ex->getMessage(); } echo '<hr>' echo 'IdSearchAction: <br>' var_dump(IdSearchAction::search(TestData::ARRAY_FOR_SEARCHING)); echo '<hr>' Loading
public/public/Actions/IdSearchAction.php 0 → 100644 +28 −0 Original line number Diff line number Diff line <?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; } }
public/public/TestData/TestData.php +15 −0 Original line number Diff line number Diff line Loading @@ -9,4 +9,19 @@ namespace App\TestData; class TestData { public const FILE_PATH = "TestData/FileToRead.txt"; public const ARRAY_FOR_SEARCHING = [ [ 'id' => 30, 'name' => 'Sasha', ], [ 'id' => 542, 'name' => 'Adlan', ], [ 'id' => 3234, 'name' => 'Pavel', ], ]; }
public/public/index.php +7 −0 Original line number Diff line number Diff line Loading @@ -2,9 +2,11 @@ require_once __DIR__ . '/../vendor/autoload.php'; use App\Actions\IdSearchAction; use App\Actions\ReadFileLineByLineAction; use App\TestData\TestData; echo 'ReadFileLineByLineAction: <br>' try { foreach (ReadFileLineByLineAction::read(TestData::FILE_PATH) as $line) { echo $line; Loading @@ -12,3 +14,8 @@ try { } catch (Exception $ex) { echo $ex->getMessage(); } echo '<hr>' echo 'IdSearchAction: <br>' var_dump(IdSearchAction::search(TestData::ARRAY_FOR_SEARCHING)); echo '<hr>'