PHPでの質問です。

($Data as $val)
このasというのはどういった意味合いがあるのでしょうか?

回答の条件
  • 1人2回まで
  • 登録:2006/12/27 00:18:59
  • 終了:2007/01/03 00:45:24

回答(2件)

id:STRing No.1

STRing回答回数351ベストアンサー獲得回数362006/12/27 00:41:27

ポイント35pt

foreach とセットのものなら以下ですね。

PHP: foreach - Manual

現在の $Data を $val に入れて、と云うことでしょう。

id:quocard

ありがとうございます。

foreachの中でよくみるので検索はしてみたのですが

asに関しての記述がありませんでした。

ありがとうございました。

2006/12/27 08:05:17
id:ymlab No.2

ymlab回答回数508ベストアンサー獲得回数342006/12/27 02:41:23

ポイント35pt

$Data配列の一つ一つのデータを、$valに適合されるかを、チェックします。

例えば、

$ary[0]="aaa";

$ary[1]="php";

$ary[2]="bgt";

foreach($ary as "php") {

print "check\n";

}

とすると、check\nが出力されます。

foreachは、それぞれ繰り返す。

と訳してかまわないでしょう。

()の中は、真か偽かの論理式ですよね。

ということは、

$aryの配列の中をforeachで配列番号が、

0から、最後まで繰り返すと考えると、

asの役割は、

"php"の内容が、$aryを、$ary[?]として考えた場合、

適合するかどうか。を、それぞれ確かめているので、

~~として

という意味合いがあると、私は思います。

PHPのマニュアルにもちょっと見当たらなかったので、

これが正解!というのがないですが・・・。

id:quocard

なるほど。

非常にわかりやすく解説していただきましてありがとうございます。

なかなか便利な使い方が出来るようです。

今後使っていきたいと思います。

2006/12/27 08:06:04
  • id:bonlife
    いまさら感がありますが、2番目の方の説明は一部を除き間違いですので、訂正コメントです。

    foreachについて、詳しくは1番目の方の回答にあるマニュアルをご参照いただきたいのですが、簡単に説明すると「as の前に指定された配列の要素を1つずつ as の後に指定された変数として取り出して、foreachのブロックの中で処理する」というものです。

    「適合されるかを、チェックします。」ということはありません。
    「()の中は、真か偽かの論理式ですよね。」というのも間違いです。

    <?
    $ary[]="abc";
    $ary[]="def";
    $ary[]="ghi";

    foreach ($ary as $value) {
    print $value . "<br/>";
    }

    ?>

    上記の例の場合、配列 $ary に3つの値を設定した後、foreachでそれぞれの値を $value として取り出し、printしています。
    $ary の内容を1つずつ $value として取り出し、foreachブロック内の処理(print)を実行しています。

    quocardさんが誤解せずに勉強に精進されることを切に願います。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません