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

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

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

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

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

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

至極最もな疑問なのですが、PHPのマニュアルには以下のように書かれています。
http://www.php.net/manual/ja/control-structures.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/column/294/

この記事が役に立ったらシェア!
メルマガの登録はこちら Web担当者に役立つ情報をサクッとゲット!

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

今日の用語

robots.txt
ロボット型の検索エンジンが自分のページを登録しないようにするためにサイト管理者が ...→用語集へ

インフォメーション

RSSフィード


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