|
Значение переменной через запятую
Подскажите пожалуйста.
Есть поле, в котором значение введено через запятую: Иванов, Сидоров, Петров и т. д. Данные передаются методом PОST обработчику PHP: $name = $_POST[name]; Соответственно переменная $name имеет значение: Иванов, Сидоров, Петров и т. д. Мне нужно через оператор if вывести данные если соблюдается условие: 1. Получен только Иванов - выводим данные; 2. Получен Иванов и др. - тоже выводим данные; 4. Не получен Иванов - не выводим данные; 5. Не получен Иванов, но получены другие - не выводим данные. Делал так: if ($name=="Иванов") { echo ' <p>Иванов</p> ';} Это работает, если в поле введено только одно имя Иванов. Если же ввести несколько значений через запятую: Иванов, Сидоров, Петров. Ничего не выводит... Задача, я так понимаю элементарная, но вот гуглю уже несколько часов и никак не могу решить проблему. В PHP не силен. Возможно как то через массив это все сделать. Вся проблема в получаемом значении через запятую... То есть по сути мой вопрос заключается в том: Как выбрать из строки (которая является значением переменной), в которой данные указаны через запятую одно значение и через оператор вывести данные в зависимости от того есть это значение в строке или нет. |
explode(',',$_POST['name']) вам может помочь
|
только про пробелы не забывайте
|
Цитата:
|
ksa, а как тут это поможет? Покажи пример.
|
Цитата:
1. Если фамилия иванов присутствует - выводим 2. Не присутствует - не выводим |
Спасибо - работает!
Никогда б не догадался сформулировать запрос гуглу "Поиск подстроки в строке" :thanks: |
Цитата:
Но судя по условиям ТСа, достаточно простого вхождения "Иванов" в полученую строку для вывода информации... На COS это выглядит так if %request.Data("name",1)["Иванов" { // какой-то там вывод } |
Цитата:
$name = 'Сидоров, Иванова'; if ($strpos($name, 'Иванов') !== false) { // упс.. } |
точняк. Тогда можно регекспами взять
хотя преобразовать в массив - универсальнее. |
Часовой пояс GMT +3, время: 16:19. |
|