Php 检查值是否已设置且为true或';正确';
如果$required var设置为bool true或string 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
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。