我有一个变量:
$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()
,还是有其他功能可以做到这一点?谢谢!
答案 0 :(得分:4)
一种选择是使用strpos来查看字符串中是否存在“T”字符,如下所示:
if (strpos($testingAllDay, 'T') !== false) {
// 'T' was present in $testingAllDay
}
也就是说,在这种情况下使用strlen可能更快/更有效(尽管毫无疑问),因为根据你的例子,无时间字段总是10个字符长。
例如:
if(strlen($testingAllDay) > 10) {
// 'T' was present in $testingAllDay
}
答案 1 :(得分:2)
使用strpos:
if (strpos($testingAllDay,"T")!==false){
或strstr
if (!strstr($testingAllDay,"T")){
答案 2 :(得分:2)
if (strpos($testingAllDay, 'T') !== FALSE){
...
}
答案 3 :(得分:2)
如果这些是唯一可能的情况,即使strlen()也会这样做。
答案 4 :(得分:1)
不完全回答问题,但您可以使用strlen()进行检查。 即“全天”长度为10,高于此值的任何东西都不是。
答案 5 :(得分:1)
您正在寻找的功能是strpos()
。以下是获取变量名称的措辞的示例:
$testingAllDayTPosition = strpos($testingAllDay, 'T');
$testingAllDayDoesNotContainT = false === $testingAllDayTPosition;
if ($testingAllDayDoesNotContainT){
$AllDay = 1;
} else {
$AllDay = 0;
}
答案 6 :(得分:0)
strstr和strpos是两个可以完成要求的功能。
strstr将查看字符串中是否存在子字符串,它将从第一次出现的字符串回显到休息。
虽然strpos会给你第一次出现字符串的位置。