2016-01-20 61 views
1

我试图检查index.php或tob.php是否在URL中的当前页面。 所以,我试图打开:

/sbfc/public/HR/0-bg.php 

它给了我,预计。然而,当我试图打开:

/sbfc/public/tob.php 

它的返回值仍然是

有没有解决这个问题的建议?我确实有查询,我认为这不是问题的根源,因为我使用“PHP_SELF”而不是“QUERY_STRING”。

提前致谢!

编辑:/sbfc/public/HR/0-bg.php/sbfc/public/tob.php是 “PHP_SELF” 的结果

+0

$ _SERVER ['PHP_SELF']'在tob.php中返回什么? – Daan

+0

表示你需要检查当前页面是从index.php还是tob.php中的一个? –

+0

是的,@AddWebSolutionPvtLtd。所以,我希望它在用户打开其他页面而不是index.php或tob.php时执行不同的代码。 – erwinleonardy

回答

0

因为in_array()将只搜索精确匹配一个字符串。您可能正在寻找strpos(),因为它会在字符串中找到第一个子字符串。您可以在数组中使用循环并在每次迭代中使用strpos()来查找tob.php

+0

$ _SERVER ['PHP_SELF']本身的数据类型不是字符串,为了使用strpos(),我应该先将其转换为字符串。我决定写绝对路径,而不是仅仅写入/tob.php,它的工作原理!这很奇怪,我曾经用in_array()确切的方式工作。安,谢谢你的解释! – erwinleonardy

+0

对于in_array(),数据类型不需要做出改变,您可以通过启用严格模式(通过在使用函数时将true添加为最终参数)来强制它匹配您使用的数据类型。 PHP网站上有关于此功能的更多文档。 另外,[array_filter](http://php.net/manual/en/function.array-filter.php)可能会更有帮助,因为我在[这个问题]中找到(http://stackoverflow.com /问题/ 5749415 /搜寻 - 一个字符串或 - 部分的串式的PHP)。 – LukeXF