как мне сказать «Если строка содержит« х »в PHP? - PullRequest
0 голосов
/ 28 июня 2011

У меня есть переменная:

$testingAllDay = $event->when[0]->startTime;

Эта переменная будет такого формата, если это «Весь день»:

2011-06-30

Это будет этот формат, если это не «Весь день»:

2011-07-08T12:00:00.000-05:00

Я хочу сделать что-то вроде:

if ($testingAllDay does not contain "T"){
   $AllDay = 1;
   } else {
   $AllDay = 0;
}

Нужно ли использовать strstr() здесь, или есть другая функция, которая делает это? Спасибо!

Ответы [ 7 ]

4 голосов
/ 28 июня 2011

Один из вариантов - использовать strpos , чтобы увидеть, присутствует ли символ 'T' в строке, следующим образом:

if (strpos($testingAllDay, 'T') !== false) {
    // 'T' was present in $testingAllDay
}

Тем не менее, вероятно, было бы быстрее / эффективнее (хотя, без сомнения, бессмысленно) использовать strlen в этом случае, поскольку, согласно вашему примеру, поле без времени всегда будет 10 символов долго.

Например:

if(strlen($testingAllDay) > 10) {
    // 'T' was present in $testingAllDay
}
2 голосов
/ 28 июня 2011

Если это единственно возможные случаи, подойдет даже strlen () .

2 голосов
/ 28 июня 2011
if (strpos($testingAllDay, 'T') !== FALSE){
   ...
}
2 голосов
/ 28 июня 2011

Используйте strpos:

if (strpos($testingAllDay,"T")!==false){

или strstr

if (!strstr($testingAllDay,"T")){
1 голос
/ 28 июня 2011

Функция, которую вы ищете: strpos(). Ниже приведен пример того, как можно подобрать вашу формулировку даже для имен переменных:

$testingAllDayTPosition = strpos($testingAllDay, 'T');

$testingAllDayDoesNotContainT = false === $testingAllDayTPosition;

if ($testingAllDayDoesNotContainT){
   $AllDay = 1;
   } else {
   $AllDay = 0;
}
1 голос
/ 28 июня 2011

не совсем ответ на вопрос, но вы можете проверить с помощью strlen ().т. е. длина «Весь день» равна 10, а все, что выше, не равно.

0 голосов
/ 28 июня 2011

strstr и strpos - это две функции, с помощью которых вы можете выполнить ваше требование.

strstr проверит, существует ли в строке подстрока, и отразится от первого появления строки до остальных.

Покаstrpos даст вам позицию первого вхождения строки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...