Как искать лучшее совпадение в PHP (поиск с допуском) - PullRequest
0 голосов
/ 09 апреля 2020

Мне нужно найти массив по имени, чтобы получить идентификатор.
Пока это выглядит так:

<?php
$name = "Counter-Strike: Global Offensive";  //Input name

$url = 'http://api.steampowered.com/ISteamApps/GetAppList/v0002/?format=json'; //API JSON file

$content = file_get_contents($url) ; // Retrieve the JSON data string from the website
$data = json_decode($content, true); // Convert the JSON string into PHP array 

$key = array_search($name, array_column($data['applist']['apps'], 'name')); //Search

echo $data['applist']['apps'][$key]['appid']; // Echoes ID - 730 in this case
?>

Сейчас я использую array_search , чтобы сделать однако поиск, который не будет работать с неточными ответами.

Например, если $ name было "Counter Strike Global Offensive" (обратите внимание на удаленные символы), он вернется NULL, потому что в этом файле JSON такого ввода нет.

Есть ли способ придать поиску немного допуска и, возможно, заставить его игнорировать чувствительность к регистру?

...