Intereting Posts
Какой тип mime я должен использовать для mp3 PHP: получить число десятичных цифр Safari 5.1 in не позволяет источнику <video> обнаруживать переменные $ _SESSION Php mysql pdo query: заполнить переменную с результатом запроса Как получить данные JSON из Rest API с помощью PHP Curl? Неустранимая ошибка: использование $ this, если не в контексте контекста объяснения? сеть прекрасна, но не может создать проект laravel и показать ошибку в команде Активно поддерживаемые библиотеки PHP для аутентификации пользователей? Как отображать данные из базы данных? Расчет php дает странный результат для 1500000-20% Laravel 4 Queue – В пространстве имен «queue» нет команд Загрузить изображение на сервер и сохранить путь к образцу в базе данных mysql Массив переупорядочения PHP для отображения иерархии родительских / идентификационных данных Сегодня инъекция SQL – это риск? Как добавить ajax в тему WordPress

preg_match точный номер

я использую

$regex = '/'.implode('|', 10).'/i'; preg_match($regex, $ids) 

найти число 10 в списке идентификаторов ($ ids). Однако, если список идентификаторов выглядит следующим образом:

 $ids = array(10, 110, 1010); 

Приведет ли их все? Как я могу заставить его найти точное число, которое я получил, а не просто найти номер, который содержит номер, который я за ним?

Благодарю.

Редактировать:

Я сделал ошибку выше. Список идентификаторов фактически представляет собой строку значений, разделенных запятыми. Например:

 $ids = "10,1010,101"; 

Трудно объяснить весь этот процесс идеи, но это мой полный код:

 <?php $file = fopen('allprods.csv', 'r'); $id = array($_GET['id']); $id = array_map('preg_quote', $id); $regex = '/'.implode('|', $id).'/i'; $skus = array(); while (($line = fgetcsv($file)) !== FALSE) { list($ids, $sku) = $line; if(preg_match($regex, $ids)) { $skus[] = $sku; } } $count = count($skus); $i = 1; echo $category_id; foreach ($skus as $sku){ echo $sku; if($i != $count) { echo "`"; } $i++; } 

Я, по сути, укореняю csv, у которого есть столбец идентификатора (некоторые строки имеют несколько идентификаторов в этом столбце, пропущены запятыми) и столбец sku. Больше информации здесь

Поэтому мне нужен код для проверки строки идентификаторов для определенного ID, например 10, а затем добавить соответствующий SKU в массив sku.

Я уверен, что этот код беспорядок, так что медведь со мной, а я взломал PHP на бит!

Изменить: теперь это разрешено! Вместо этого я использовал in_array, как указано в ответах. Прежде всего я взорвал отдельную строку запятой. Код можно увидеть ниже:

 $skus = array(); while (($line = fgetcsv($file)) !== FALSE) { list($ids, $sku) = $line; $cats = explode(',',$ids); if (in_array($_GET['id'], $cats)) { $skus[] = $sku; } } 

Спасибо за помощь всем.