在PHP中将未知类型与字符串进行比较

在PHP中将未知类型与字符串进行比较,php,wordpress,Php,Wordpress,我对PHP和word press的世界完全陌生 我需要将一个字符串与已定义的函数进行比较,该函数返回一些值,但不是null 当我试图打印带有回音的函数时,它会打印一些文本,但当我试图使用get\u type(function())获取返回值的类型时,它会返回Null 已知字符串和打印文本都是相同的,但仍然不满足我的if条件 我所需要做的就是将已知字符串与该方法返回的值进行比较 编辑: 我试图将其与字符串进行比较的方法是_permalink() 此方法满足is_null()方法,但它在调用时打印u

我对PHP和word press的世界完全陌生

我需要将一个字符串与已定义的函数进行比较,该函数返回一些值,但不是
null

当我试图
打印
带有
回音的函数时,它会打印一些文本,但当我试图使用
get\u type(function())
获取返回值的类型时,它会返回
Null

已知字符串和打印文本都是相同的,但仍然不满足我的if条件

我所需要做的就是将已知字符串与该方法返回的值进行比较

编辑:

我试图将其与字符串进行比较的方法是_permalink() 此方法满足is_null()方法,但它在调用时打印url。

可以尝试gettype()吗
$your_string = "something";
$returned_method_value = your_function();

if($your_string === $returned_method_value){ //=== for type check, if you don't want to know the type use ==
    //Do something
}
没有下划线

如果你检查相同或不同的类型,那么你可以按照博诺说的去做

if( $type1 === $type2)
{
    //do something
}

此外,发布一些代码来向我们展示会非常有帮助。除非我们能看到代码,否则我们无法确定哪里出了问题。

正如Anthory Saldana Jr.所说,使用
gettype()
而不是
get\u type()

如果我理解正确,这就是你想要的:

function testFunction($input) {
    return $input;
}

echo gettype(testFunction(1))."<br>";
echo gettype(testFunction("a"))."<br>";

/* Prints:
 * integer
 * string
 */
function testFunction($input){
返回$input;
}
echo gettype(testFunction(1))。“
”; echo gettype(testFunction(“a”))。“
”; /*印刷品: *整数 *串 */

这里有一个Phidle来演示:

准确地发布您的if语句。旁注:var_dump()是一个非常有用的函数。。。告诉您类型、值,如果是字符串,则告诉您长度。这与WordPress无关。使用var_dump,获取变量的类型,并强制转换变量。这在技术上是正确的,但看起来OP的问题有一些不清楚的地方。即使是松散的比较也会使if条件返回
false
,那么严格的比较会使其返回
true