php'==='运算符

use*_*265 2 php

我的代码是

$url = $_GET['q']; $string = "search_text"; $pos = strpos($url,$string);

然后我使用以下内容检查url中是否存在search_text.如果它存在,我希望它隐藏html字段 if($pos!==true){ //generate html elements }

但它不起作用.基本上我想要做的是当url中存在search_text时使用'==='运算符隐藏某些html元素,以比较在strpos操作期间生成的$ pos

Pek*_*ica 6

$pos!==true与你想要测试的完全相反:strpos()永远不会返回true,但要么是数字,要么是false.

使用

if ($pos === false)
Run Code Online (Sandbox Code Playgroud)


xzy*_*fer 5

===运营商意味着完全相等.这意味着它必须是相同的类型,并具有相同的值.

strpos($url,$string); // return an integer
true; // is a boolean
Run Code Online (Sandbox Code Playgroud)

整数> 0是== true,但不是=== true

Alernativly你可以使用:

$pos = strpos($url,$string);

if($pos !== false) // $string not in url
if($pos == true)   // $string is in url
Run Code Online (Sandbox Code Playgroud)