2016-01-20 106 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