Поиск в JSON с помощью PHP для реализации на стороне сервера автозаполнения плагина jQuery - PullRequest
0 голосов
/ 26 ноября 2011

Я пытаюсь использовать плагин автозаполнения jQuery в моем веб-приложении PHP.У меня есть файл JSON на сервере, который содержит данные для поиска.Это выглядит так:

{
    "_E161": {
        "keggId":"rn:R05223",
        "abbrev":"ADOCBLS",
        "name":"Adenosylcobalamin 5'-phosphate synthase",
        "equation":"agdpcbi[c] + rdmbzi[c]  -> h[c] + adocbl[c] + gmp[c] ",
    },
    "_E163": {
         ....
    }
}

Я хотел бы просмотреть этот JSON-файл (содержит 3500 записей) с помощью PHP-скрипта, который получает поисковый запрос от плагина автозаполнения jQuery.Затем верните записи, содержащие поисковый запрос, на клиентскую сторону, чтобы заполнить автозаполнение.Что было бы лучшим способом реализовать это?Мое первое предположение - перебрать файл JSON и использовать strpos () Но я подозреваю, что это может быть медленно?

1 Ответ

0 голосов
/ 26 ноября 2011

Вы можете использовать preg_grep (возвращать записи массива, соответствующие шаблону),

// sanitize, and perform some processing to ensure is a valid regex pattern
$pattern = ...;

$json = json_decode( ... );
$arr  = array();
foreach ($json as $key=>$arr)
{
  $arr[$key] = $arr['name'];
}
$matches = preg_grep("/$pattern/i", $arr);
// $matches will hold the matches
// and you refer back to the $json using associate key
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...