<?php
$url = $_SERVER['HTTP_HOST'];
if(stripos($url,'cp.utorrent.com')===true)echo "cp";
else echo "welcome uctorrent ...";
?>
<{3}}和http://cp.uctorrent.com输出的应为
CP
但它的两种情况都是打印
welcome uctorrent...
答案 0 :(得分:1)
stripos
返回字符串的位置,这将是一个整数。您正在将其与=== true
因此,通过比较整数和布尔值,这个条件将是错误的。
你应该使用这个
$url = $_SERVER['HTTP_HOST'];
if(stripos($url,'cp.uctorrent.com')===FALSE) // here in your code its cp.utorrent.com
echo "welcome uctorrent ...";
else
echo "cp";
或者
$url = $_SERVER['HTTP_HOST'];
if(stripos($url,'cp.uctorrent.com'))
echo "cp";
else
echo "welcome uctorrent ...";
答案 1 :(得分:1)
来自:http://php.net/manual/en/function.stripos.php
Returns the numeric position of the first occurrence
所以你得到一个数字,你正在检查它的类型和价值是否与“真实”相同。因为它是一个int,而不是一个布尔值,所以它总是错误的。
你的意思是!== false
吗?
答案 2 :(得分:1)
stripos
永远不会实际返回布尔值TRUE。它将返回索引或布尔值FALSE。
答案 3 :(得分:0)
stripos返回整数,而不是布尔值
答案 4 :(得分:0)
试试这个:
$url = $_SERVER['HTTP_HOST'];
if(stripos($url,'cp.utorrent.com') === FALSE) {
echo "welcome uctorrent ...";
} else {
echo "cp";
}
这里有一些注意事项: