我正在处理一个注册表单,我正在使用 PHP,在我的处理部分我运行一些代码,如果提交的项目失败,我然后将它添加到错误数组中。
下面是代码片段,我现在需要找到最佳方法来确定是否应该触发错误。
因此,如果在错误数组中设置了一个值,那么我需要重定向并做一些其他事情。
我正在考虑使用 isset
或 is_array
但我不认为这是答案,因为我使用 **$signup_errors = array()**
这不会使 is_array
为真吗?
有谁能推荐一个好的方法吗?
//at the beginning I set the error array
$signup_errors = array();
// I then add items to the error array as needed like this...
$signup_errors['captcha'] = 'Please Enter the Correct Security Code';
最佳答案
if ($signup_errors) {
// there was an error
} else {
// there wasn't
}
它是如何工作的?转换为 bool 值时,空数组将转换为 false。每个其他数组都转换为 true。来自PHP manual :
Converting to boolean
To explicitly convert a value to boolean, use the (bool) or (boolean) casts. However, in most cases the cast is unncecessary, since a value will be automatically converted if an operator, function or control structure requires a boolean argument.
See also Type Juggling.
When converting to boolean, the following values are considered FALSE:
- the boolean FALSE itself
- the integer 0 (zero)
- the float 0.0 (zero)
- the empty string, and the string "0"
- an array with zero elements
- an object with zero member variables (PHP 4 only)
- the special type NULL (including unset variables)
- SimpleXML objects created from empty tags
- Every other value is considered TRUE (including any resource).
你也可以使用 empty()
因为它具有相似的语义。
关于php - 如何检查 PHP 数组是否设置了任何值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1371198/