Standard PHP Library(SPL) イテレータ インスタンス編

ヒューマンリソシア株式会社はコラム「Standard PHP Library(SPL) イテレータ インスタンス編」を公開しました。

###

PHPer上級者になるために知っておきたいこと
vol.11 ‐ 『Standard PHP Library(SPL) イテレータ インスタンス編』
投稿日時:2013/06/11 04:06

カテゴリ: PHPer上級者になるために知っておきたいこと


前回はコードを提示してみましたので、今回はそのコードの中身について見ていきたいと思います。
ここで普通に思うのは「foreachって配列に対して反復処理をする構文じゃないの?」という疑問です。

至極最もな疑問なのですが、PHPのマニュアルには以下のように書かれています。
リンク

foreach は、配列を反復処理するための便利な方法です。 foreach が使えるのは配列とオブジェクトだけであり、 別のデータ型や初期化前の変数に対して使うとエラーになります。

「foreach が使えるのは配列とオブジェクトだけ」はいちょっとびっくりするポイントですね。

さて。お次は「もう少しびっくりする」コードを見てみましょう。

<?php
//
class MyClass
{
public $var1 = 'value 1';
public $var2 = 'value 2';
public $var3 = 'value 3';
protected $var4 = 'value 4';
private $var5 = 'value 5';
}
//
$class = new MyClass();
foreach($class as $key => $value) {
print "$key => $value\n";
}
結果は以下の通り。

この続きは以下をご覧ください
リンク

関連情報
http://resocia.jp/
本プレスリリースは発表元企業よりご投稿いただいた情報を掲載しております。
お問い合わせにつきましては発表元企業までお願いいたします。

このサイトでは、利用状況の把握や広告配信などのために、Cookieなどを使用してアクセスデータを取得・利用しています。 これ以降ページを遷移した場合、Cookieなどの設定や使用に同意したことになります。
Cookieなどの設定や使用の詳細、オプトアウトについては詳細をご覧ください。
[ 閉じる ]