2010-12-11 7 views
1

foreachを使用する代わりに、オブジェクトのすべての要素にアクセスする最も良い方法は何ですか?PHP:オブジェクトのすべての要素を取得する最も良い方法は?

事前のおかげで...

+0

'foreach'はオブジェクトに対して機能しません。どうか明らかにしてください。 –

+0

してください。 $ arr = array( "hello"、 ""、 "world"); $ arr =(オブジェクト)$ arr; var_dump($ arr); foreach($ arr $ a){ echo $ a; } ...また.. PHPのオブジェクトは何ですか? :D –

答えて

1

- 指定されたオブジェクトのプロパティ

詳細を取得しますか?

まあしかし、あなたが何か行うことができ、いくつかの方法

があります。あなたも

while($i < $length) 

を行うと、あなたは数字キーを持っている場合は直接の項目にアクセスすることができました

$length = count($arr); 
for($i = 0; $i<$length; $i++) 

が。

しかし、数字キーを持っていないとforeachが遅くならず、最良の方法です。

またnext($arr)を使用してアイテムにアクセスすることができます。また、push/pop

私はそれはあなたが何をしたい文脈に依存言うことができます。

たとえば、サイズXの配列でX操作を行いたい場合は、いくつかのループが必要です。

yuoのみ、あなたがそれからすべての情報を取得したい場合は、また、しかしget_object_varsを使用することができます便利な機能にarray_map

を使用することができ、すべての要素に対して非常に同じ操作を適用したい場合は、あなただけの持っています新しい配列とは何ですか?

本当にあなたがやりたいことが文脈によって決まります!

ほとんどの場合、foreachは高速で高速です。

特定のキー/値を検索したり、存在するかどうかを確認したい場合は、特別な最適化array functionsがあります。

関連する問題