Commit ae78146d authored by Александр Плохих's avatar Александр Плохих 🌔
Browse files

Merge branch 'main' into 'PTPS|Function_9'

# Conflicts:
#   public/public/TestData/TestData.php
#   public/public/index.php
parents 900f9f1e 80161d05
Loading
Loading
Loading
Loading
+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;
    }
}
+15 −0
Original line number Diff line number Diff line
@@ -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',
        ],
    ];
}
+7 −0
Original line number Diff line number Diff line
@@ -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;
@@ -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>'