这怎么可能,这四项检查有什么问题? 检查这个的正确方法是什么?
<?php
$url = 'domain.dev';
var_dump(strpos($url, 'admin'));
if(strpos($url, 'admin') === false);
{
var_dump($url);
}
if(strpos($url, 'admin') !== false);
{
var_dump($url);
}
if(strpos($url, 'admin') === true);
{
var_dump($url);
}
if(strpos($url, 'admin') == true);
{
var_dump($url);
}
这个输出是:
bool(false)
string(10) "domain.dev"
string(10) "domain.dev"
string(10) "domain.dev"
string(10) "domain.dev"
答案 0 :(得分:0)
使用;
语句删除行尾的if
。
e.g:
if(strpos($url, 'admin') === false)
{
var_dump($url);
}
答案 1 :(得分:0)
此处正确解释了原因: - Semicolon after if condition in PHP - code still works
在;
将终止它之后 if
,然后在它之后将执行所有内容。
因此,您需要在所有条件结束时删除;
: -
<?php
$url = 'domain.dev';
var_dump(strpos($url, 'admin'));
if(strpos($url, 'admin') === false){
var_dump($url);
}
if(strpos($url, 'admin') !== false){
var_dump($url);
}
if(strpos($url, 'admin') === true){
var_dump($url);
}
if(strpos($url, 'admin') == true){
var_dump($url);
}
输出: - https://eval.in/850447