【发布时间】:2017-02-17 21:20:27
【问题描述】:
我有一个语句可以检查页面的 url 并相应地标记页面,但它仅在我的 if 语句有一个检查选项时才有效。
$url = 'http://' . $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI'];
<?php if (strpos($url, 'events/eventname')!= false) { ?>
~markup~
<? } ?>
如果我修改它以检查两个可能的 url...
<?php if (strpos($url, 'events/eventname')!= false) { ?>
~markup~
<? }else if (strpos($url, 'events/othereventname')!= false) { ?>
~markup~
<? } ?>
...页面无法加载。我一定遗漏了一些明显的东西——有人能告诉我这个函数有什么问题吗?
*edit: 因为它被要求,我已经包含了 $url 变量和更具体的 url 示例
【问题讨论】:
-
URL 是在哪里定义的?还有,那些“urlhere”或“otherurlher”是什么?这些信息可能有助于开发人员理解您的代码。
-
试试 !== 而不是 !=。关于 PHP 文档:警告此函数可能返回 Boolean FALSE,但也可能返回计算结果为 FALSE 的非布尔值。请阅读有关布尔值的部分以获取更多信息。使用 === 运算符测试此函数的返回值。 (php.net/manual/en/function.strpos.php)
-
@Ad5001 Gameur codeur autre URL 在代码的其他地方定义 - 我没有包含它或实际的 url(我用 urlhere 和 otherurlhere 代替),因为它与问题没有直接关系.
-
我同意
$url和'urlhere'的一些更现实的例子在这里可能会有所帮助。我不一定同意它与问题没有直接关系。 -
我认为您似乎可能对
strpos的论点有所反感,但没有真正看到是什么,这只是一个猜测。