7

ArrayObjectについて質問があります。ArrayObjectクラスでarray_sliceを使用したかったのですが、使用できませんでした。ArrayObjectを実装するクラスに「スライス」メソッドを記述する必要なしにそれを行う方法はありますか?

4

2 に答える 2

4

アレイコピーはいつでも操作できます。

$array = $object->getArrayCopy();
// modify $array as needed, e.g. array_slice(....) 
$object = new ArrayObject($array);

過去のある時期に、配列を受け入れるすべての関数(またはおそらくそれらの多く)がArrayObjectも受け入れるようにするというアイデアがありました。しかし、私はそれがどこまで進んだのか、そしてそれがまだ続いているのかどうかはわかりません。ArrayObjectは、PHPのネイティブ配列を実際に置き換えるよりも動作的なものだと思います。

関連する質問:PHP配列とArrayObject

于 2011-07-08T16:15:06.767 に答える
0

php配列関数をラップするクラスを持つことはそれほど悪い考えではありません。コードをよりクリーンにします。

echo $myAry->slice(10, 5)->reverse()->join(", ");

通常の言語と同じように、あなたは知っています。

于 2011-07-08T16:31:07.597 に答える