Javascript-форум (https://javascript.ru/forum/)
-   Серверные языки и технологии (https://javascript.ru/forum/server/)
-   -   Значение переменной через запятую (https://javascript.ru/forum/server/50851-znachenie-peremennojj-cherez-zapyatuyu.html)

DDSSDD 14.10.2014 15:11

Значение переменной через запятую
 
Подскажите пожалуйста.
Есть поле, в котором значение введено через запятую:
Иванов, Сидоров, Петров и т. д.

Данные передаются методом PОST обработчику PHP:


$name = $_POST[name];


Соответственно переменная $name имеет значение: Иванов, Сидоров, Петров и т. д.

Мне нужно через оператор if вывести данные если соблюдается условие:
1. Получен только Иванов - выводим данные;
2. Получен Иванов и др. - тоже выводим данные;
4. Не получен Иванов - не выводим данные;
5. Не получен Иванов, но получены другие - не выводим данные.

Делал так:

if ($name=="Иванов") {
echo ' <p>Иванов</p> ';}


Это работает, если в поле введено только одно имя Иванов.
Если же ввести несколько значений через запятую: Иванов, Сидоров, Петров.
Ничего не выводит...

Задача, я так понимаю элементарная, но вот гуглю уже несколько часов и никак не могу решить проблему.
В PHP не силен.
Возможно как то через массив это все сделать. Вся проблема в получаемом значении через запятую...

То есть по сути мой вопрос заключается в том: Как выбрать из строки (которая является значением переменной), в которой данные указаны через запятую одно значение и через оператор вывести данные в зависимости от того есть это значение в строке или нет.

voral 14.10.2014 15:22

explode(',',$_POST['name']) вам может помочь

voral 14.10.2014 15:22

только про пробелы не забывайте

ksa 14.10.2014 15:38

Цитата:

Сообщение от DDSSDD
1. Получен только Иванов - выводим данные;
2. Получен Иванов и др. - тоже выводим данные;
4. Не получен Иванов - не выводим данные;
5. Не получен Иванов, но получены другие - не выводим данные.

http://php-include.ru/stati/poisk-podstroki-v-stroke

danik.js 14.10.2014 16:01

ksa, а как тут это поможет? Покажи пример.

voral 14.10.2014 16:10

Цитата:

Сообщение от danik.js
ksa, а как тут это поможет? Покажи пример.

А кстати, если условия здесь указаны полностью и правильно, то поиска подстроки вполне достаточно. Т.к. все 4 можно свести к двум вариантам:
1. Если фамилия иванов присутствует - выводим
2. Не присутствует - не выводим

DDSSDD 14.10.2014 16:10

Спасибо - работает!
Никогда б не догадался сформулировать запрос гуглу "Поиск подстроки в строке" :thanks:

ksa 14.10.2014 16:14

Цитата:

Сообщение от danik.js
а как тут это поможет? Покажи пример

С ПХП не работаю...
Но судя по условиям ТСа, достаточно простого вхождения "Иванов" в полученую строку для вывода информации...

На COS это выглядит так

if %request.Data("name",1)["Иванов" {
	// какой-то там вывод
}

danik.js 14.10.2014 16:38

Цитата:

Сообщение от ksa
достаточно простого вхождения "Иванов" в полученую строку для вывода информации

$name = 'Сидоров, Иванова';
if ($strpos($name, 'Иванов') !== false) {
    // упс..
}

voral 14.10.2014 16:58

точняк. Тогда можно регекспами взять
хотя преобразовать в массив - универсальнее.


Часовой пояс GMT +3, время: 14:52.