PHP字符串不包含
如果当前链接不包含单词“index”或“/”,我试图做的是显示一条消息(1) 我发现这正好相反:PHP字符串不包含,php,Php,如果当前链接不包含单词“index”或“/”,我试图做的是显示一条消息(1) 我发现这正好相反: $page = 'http://' . $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI']; if (strpos($page, 'index.php') !== false xor strpos($page, '/?') !== false) { echo '1'; } else { echo '2'; } 此代码在链接中没有“索引
$page = 'http://' . $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI'];
if (strpos($page, 'index.php') !== false xor strpos($page, '/?') !== false) {
echo '1';
} else {
echo '2';
}
此代码在链接中没有“索引”或“/”的页面上显示“2”,但我需要相反的结果:在链接中没有“索引”或“/”的页面上显示“1”
顺便说一句,我已经尝试了所有的组合:!strpos,真的,但这似乎对我不起作用。我需要一种在代码中没有“else”的方法,否则我可以改变回声
$page = 'http://' . $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI'];
if (strpos($page, 'index.php') === false && strpos($page, '/?') === false)
{
echo"1";
}
else
{
echo"2";
}
如果在
$page
中没有index.php
或/?
,则应显示1
,if语句中的条件为
if( <<COND 1>> xor <<COND 2>> )
查看此页面了解有关的详细信息。尝试以下操作:
$page = 'http://' . $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI'];
if (strpos($page, 'index.php') === false || strpos($page, '/?') === false)
{
echo"1";
}
else
{
echo"2";
}
布尔比较
xor
应该这样做。try===false | |===false{one or two missing}@Waygood我假设url是/index.php
或/?
不包含两者,因此如果url是/index.php
,那么strops($page,“/?”)
将返回false,并返回1,如果url是/?
,则strpos($page,'index.php')
将返回false,1将返回,如果url不包含这两个语句,则两个语句都将返回false,1将返回,因此如果使用OR,则代码将始终返回1,除非url是index.php/?
?xor=“一个或另一个,但不是两个”我个人更喜欢stristr()代码>而不是strpos()代码>因为不需要担心===falseabout@Waygood这只是原始条件下的德摩根定律。+1用于解释异或,也用于上述关于德摩根定律的评论;-)是的,但我需要一个没有别的解决方案。您的解决方案则相反:“如果索引位于链接中,请执行此操作”。我需要“如果索引不在链接中,请执行此操作”。
$page = 'http://' . $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI'];
if (strpos($page, 'index.php') === false || strpos($page, '/?') === false)
{
echo"1";
}
else
{
echo"2";
}
$page = 'http://' . $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI'];
if (strpos($page, '/?') === false && strpos($page, 'index.php') === false)
{
echo "1";
}
else
{
echo "2";
}