0

特定の値と等しくないことを確認したい変数がたくさんあります。

if($post[0] !== "-" && $post[3] !== "-" && $post[8] !== "-" ...) {
    // code to be executed
}

関数は最も賢い解決策のようで、次のようなものです。

function check_var($junk_value, $array) {
    foreach($array as $arr) {
        if($arr[$key]) == $junk_value) {
            return false;
        }
        else {
            return true;
        }
    }
}
$junk_value = "-";
$array = array($post[0], $post[3], $post[8], $hello);
check_var($junk_value, $array);

私はforeachループがあまり得意ではなく、他の人が「$ key」をどのように使用しているかはわかりませんが、設定されていないことが出力されます。私はいつも、人々が「$key」変数と「$value」変数を定義せずにどのように使用したのか疑問に思っていました。

編集:私はこの質問について多くの情報を吸収しました。10分で、私はもっと多くを知っているような気がします。すべての回答に感謝します。

4

3 に答える 3

5
if (!in_array('-', $post)) {
  // code to be executed
}

そして、あなたのコードは

function check_var($junk_value, $array) {
  foreach($array as $val) {
    if ($val == $junk_value) {
      return false;
    }
  }

  return true;
}
于 2012-08-31T04:58:52.887 に答える
1

あなたの質問に答えるために

「$key」変数と「$value」変数を定義せずにどのように使用しているのか、いつも疑問に思っていました

foreach 宣言でキーを参照します。

foreach($array as $key => $value) {
于 2012-08-31T05:00:09.170 に答える
1

使用時

foreach($array as $arr)

これ$arrキーではなくなので、確認する必要があります

 if($arr == $junk_value)

キーも必要な場合は、使用します

foreach($array as $key=>$value)

valueしかし、再びforeachを使用すると、両方が keyあるため、使用する必要はありません$arr[$key]

于 2012-08-31T05:00:46.957 に答える