$name, "group" => $group]; if (DUPLICATE_NAME_IN_SAME_GROUP || !in_array($new_rec, $ep)) { $ep[] = $new_rec; } } } return $ep; } define("MINIMUM_NEEDLE_LENGTH", 3); // keresés a nevek között function search_in_names(array $records, string $needle): array { $needle = trim($needle); if (strlen($needle) < MINIMUM_NEEDLE_LENGTH) { return []; } $hitpos_array = []; $filter = function(array $var) use (&$hitpos_array, $needle) : bool { $hitpos = stripos($var["name"], $needle); if ($hitpos != false) { $hitpos_array[] = $hitpos; } return $hitpos !== false; }; $filter_res = array_values(array_filter($records, $filter)); if (count($filter_res) > 0) { for ($i = 0; $i < count($filter_res); $i++) { $filter_res[$i]["hitpos"] = $hitpos_array[$i]; } } return $filter_res; } // -------------------------------- define("ELECTABLE_PEOPLE_DATABASE", "data/electable_people_test.md"); $action = json_decode($_POST["action"]) ?? "none"; $res = ""; switch ($action) { case "search": { $needle = json_decode($_POST["needle"]); $p = read_electable_people(ELECTABLE_PEOPLE_DATABASE); $hits = search_in_names($p, $needle); $res = $hits; } break; case "none": break; } echo json_encode($res); //$p = read_electable_people("data/electable_people_test.md"); return;