我如何验证$ value,如果输入'0'则通过?

时间:2012-10-18 16:31:20

标签: php arrays

foreach($_POST as $key => $value) {
    if($value)
        $sorted[$parent_key][$newkey] = $value;
    else
        unset($_POST[$key]);

$value可以是'0'或'任何字符串文字'。如果输入'0',我如何验证$ value以便通过?

我无法使用isset($value),因为$value是从foreach设置的。 我不能使用empty($value),因为它将0视为空 我不能使用strlen($value),因为它将0视为空 我不能使用(!$value),因为它将0视为null。

3 个答案:

答案 0 :(得分:1)

您可以使用strlen($ value),因为它不会将0视为null。 here is the proof

$a = 0;
echo strlen($a);

输出:

1

答案 1 :(得分:1)

只需做:

if($value || $value === "0")

答案 2 :(得分:0)

foreach($_POST as $key => $value) {
    if(!empty($value) || (string)$value === '0')
        $sorted[$parent_key][$newkey] = $value;
    else
        unset($_POST[$key]);