3

我在 PHP Solutions, 2nd Edition 一书中遇到了以下代码

<?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 是数组中保存的值(用户从表单输入的内容),为什么确定该值是否为数组至关重要?是为了安全吗?

4

1 回答 1

5

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

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

于 2012-10-16T16:16:10.527 回答