为什么要检查数组的值是否为数组?

时间:2012-10-16 16:12:51

标签: php

我在PHP解决方案第2版

一书中遇到了以下代码
<?php
foreach ($_POST as $key => $value) {
    // assign to temporary variable and strip whitespace if not an array
    $temp = is_array($value) ? $value : trim($value);
    // if empty and required, add to $missing array
    if (empty($temp) && in_array($key, $required)) {
        $missing[] = $key;
    } if (in_array($key, $expected)) {
        // otherwise, assign to a variable of the same name as $key
        ${$key} = $temp;
    }
}
?>

我的问题是关于这一行:

$temp = is_array($value) ? $value : trim($value);

如果$ value是数组中保存的值(用户从表单输入的内容),为什么确定该值是否为数组至关重要?这是为了安全吗?

1 个答案:

答案 0 :(得分:5)

“为什么确定值是否为数组至关重要?”

因为trim需要一个字符串,并且该函数在传递数组时可能不起作用。它与安全无关。