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

$value「0」または「任意の文字列テキスト」の可能性があります。「0」が入力された場合に合格するように $value を検証するにはどうすればよいですか?

から が設定されているisset($value)ため使用できません。0をnullとして扱うので 使えません。0をnullとして扱うので 使えません。0をnullとして扱うので 使えません。$valueforeach
empty($value)
strlen($value)
(!$value)

4

3 に答える 3

1

0 を null として扱わないため、strlen($value) を使用できます。 ここに証拠があります

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

出力:

1
于 2012-10-18T16:34:02.220 に答える
1

単に行うことによって:

if($value || $value === "0")
于 2012-10-18T16:34:11.533 に答える
0
foreach($_POST as $key => $value) {
    if(!empty($value) || (string)$value === '0')
        $sorted[$parent_key][$newkey] = $value;
    else
        unset($_POST[$key]);
于 2012-10-18T16:35:27.883 に答える