関数仕様編 その9(参照について その6)

よろしければこちらもご覧ください
※この記事は読者によって投稿されたユーザー投稿のため、編集部の見解や意向と異なる場合があります。また、編集部はこの内容について正確性を保証できません。

ヒューマンリソシア株式会社はコラム「関数仕様編 その9(参照について その6)」を公開しました。
「参照ネタ、第六回目」でございます。今回はforeach周りについて。
まずは基本の使い方を確認しておきましょう。

$awk = array(1,2,3);
foreach($awk as $key => $val) {
echo “{$key} is {$val}\n”;
}

次にこちらを。

$awk = array(1,2,3);
foreach($awk as $val) {
echo $val , “\n”;
$val += 100;
}
var_dump($awk);

$valは「一時的な変数」なので、ここを変えても配列の値には影響しません。
影響させたい場合は以下のようなコードを書きます。

$awk = array(1,2,3);
foreach($awk as &$val) {
echo $val , “\n”;
$val += 100;
}
var_dump($awk);

$valを参照にすると、値を変えた時に影響させることが出来るんですね。
ただ一点注意が必要です…まず、var_dumpの結果をもう一度確認してみましょう。

結果
1
2
3
array(3) {
[0]=>
int(101)
[1]=>
int(102)
[2]=>
&int(103)
}

最後の要素が、intではなくて&intになっています。
こちらの危険性については、以下のコードで理解が可能かと思われます。

この続きは以下をご覧ください
http://resocia.jp/column/1598/

よろしければこちらもご覧ください
この記事が役に立ったらシェア!
メルマガの登録はこちら Web担当者に役立つ情報をサクッとゲット!
メルマガの登録はこちら Web担当者に役立つ情報をサクッとゲット!

人気記事トップ10(過去7日間)

今日の用語

Discover
「Discover(ディスカバー)」とは、Chromeブラウザとスマートフォンの ...→用語集へ

連載/特集コーナーから探す

インフォメーション

RSSフィード


Web担を応援して支えてくださっている企業さま [各サービス/製品の紹介はこちらから]