可能性のある重複オブジェクトへの変換:
Casting an Array with Numeric Keys as an Objectは、インデックス付きの配列
私はおよそ(object)
型キャストを思っていました。
これは、オブジェクトへの連想配列に変換するように、便利な多くのことを行うことは可能だし、converting a scalar value to objectのような、いくつかのそれほど有用ではないと(私見)の事少しおかしいです。
しかし、インデックス付き配列のキャスト結果にどうやってアクセスできますか?
// Converting to object an indexed array
$obj = (object) array('apple', 'fruit');
特定の値にアクセスすることはどうですか?
print $obj[0]; // Fatal error & doesn't have and any sense
print $obj->scalar[0]; // Any sense
print $obj->0; // Syntax error
print $obj->${'0'}; // Fatal error: empty property.
print_r(get_object_vars($obj)); // Returns Array()
print_r($obj); /* Returns
stdClass Object
(
[0] => apple
[1] => fruit
)
*/
次作品stdClass
は、動的にCountable
とArrayAccess
を実装しているため:
foreach($obj as $k => $v) {
print $k . ' => ' . $v . PHP_EOL;
}
お返事ありがとうございます。私はそれが汚れていることを知っていると私はインデックス配列をキャストすることはありません...しかし、私は不思議です:-)私は回避策だけでなく、これを行う_clean_方法を探していた。 [Mattew](http://stackoverflow.com/users/259778/matthew)が重複した質問について私に気づいた後、私は受け入れられた答えを読んで、あなたに編集を提案しました。 –