PHP filter_var函数返回字符串而不是布尔值


PHP filter_var function returns string instead of boolean

代码

<?php
$test = filter_var("ftp://ftp.is.co.za.example.org/rfc/rfc1808.txt", FILTER_VALIDATE_URL);
var_dump($test);
?>

这会返回;

字符串(46)"ftp://ftp.is.co.za.example.org/rfc/rfc1808.txt"

而不是布尔值。

问题是,我需要验证字符串是URL还是S/FTP地址。

根据PHP文档的评论,上面的例子应该传递filter_var函数。但我似乎无法让它发挥作用。

感谢您的帮助。

如果您基本上需要$test的布尔值true或false,则可以执行If statment

$test = filter_var("ftp://ftp.is.co.za.example.org/rfc/rfc1808.txt", FILTER_VALIDATE_URL);
if($test !== false){
    $test = true;
}