Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/267.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 检查值是否已设置且为true或';正确';_Php - Fatal编程技术网

Php 检查值是否已设置且为true或';正确';

Php 检查值是否已设置且为true或';正确';,php,Php,如果$required var设置为bool true或string true,我将尝试输出一个必需的字符串 我有: isset($required) && $required == true ? 'required' : '' 因此,对于以下集合: $required = true //required string set $required = 'true' //required string set $required = false //required str

如果$required var设置为bool true或string true,我将尝试输出一个必需的字符串

我有:

isset($required) && $required == true ? 'required' : ''
因此,对于以下集合:

$required = true   //required string set
$required = 'true' //required string set
$required = false  //required string not set
一切正常,直至:

$required = 'false' //required string set
如何测试条件并同时允许字符串和布尔类型?

尝试以下方法:

(isset($required) && ($required === true || $required === 'true')) ? 'required' : '';
试试这个:

(isset($required) && ($required === true || $required === 'true')) ? 'required' : '';

使用
filter\u var
怎么样

filter_var($required, FILTER_VALIDATE_BOOLEAN);
将给你:

$required = 'false';
filter_var($required, FILTER_VALIDATE_BOOLEAN); // false

$required = false;
filter_var($required, FILTER_VALIDATE_BOOLEAN); // false

$required = 'true';
filter_var($required, FILTER_VALIDATE_BOOLEAN); // true

$required = true;
filter_var($required, FILTER_VALIDATE_BOOLEAN); // true
保存比较布尔值和字符串的需要,以便:

$required = filter_var($required, FILTER_VALIDATE_BOOLEAN);
isset($required) && $required == true ? 'required' : '';
随机下行表决器(hi r f)的更多信息:

使用
FILTER\u VALIDATE\u BOOLEAN
FILTER\u var
将根据输入返回以下内容:

TRUE for "1", "true", "on" and "yes"
FALSE for "0", "false", "off" and "no"
NULL for anything else

使用
filter\u var
怎么样

filter_var($required, FILTER_VALIDATE_BOOLEAN);
将给你:

$required = 'false';
filter_var($required, FILTER_VALIDATE_BOOLEAN); // false

$required = false;
filter_var($required, FILTER_VALIDATE_BOOLEAN); // false

$required = 'true';
filter_var($required, FILTER_VALIDATE_BOOLEAN); // true

$required = true;
filter_var($required, FILTER_VALIDATE_BOOLEAN); // true
保存比较布尔值和字符串的需要,以便:

$required = filter_var($required, FILTER_VALIDATE_BOOLEAN);
isset($required) && $required == true ? 'required' : '';
随机下行表决器(hi r f)的更多信息:

使用
FILTER\u VALIDATE\u BOOLEAN
FILTER\u var
将根据输入返回以下内容:

TRUE for "1", "true", "on" and "yes"
FALSE for "0", "false", "off" and "no"
NULL for anything else

使用严格的比较,
$required===true
。你经历过,这就是你所看到的
true==“string”
为true,但如果使用严格比较,则类型也需要匹配(例如布尔值与布尔值)。@Qirel这不起作用,我无法传递“true”字符串-传递此字符串应计算为true。请改为使用严格比较,
$required===true
。你经历过,这就是你所看到的
true==“string”
为true,但如果使用严格比较,则类型也需要匹配(例如布尔值与布尔值)。@Qirel这不起作用,我无法传递“true”字符串-传递此字符串的值应为true。