問題タブ [spl]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
4 に答える
3871 参照

php - SPL vs. 配列: PHP で SPL を使用する必要がある場合と配列を使用する必要がある場合はいつですか?

Java と C++ でサイズがわからない場合 - 配列は PHP のように使用されず、代わりに linkedList などが使用されます。

PHP には SPL が存在しますが、ほとんどの場合、プログラマーは配列を使用します。なぜ (人々は SPL について知らないため)?

PHP と whenSPL で配列を使用する必要がある場合と、この場合の PHP と Java/C++ の違いは何ですか?

0 投票する
3 に答える
13632 参照

php - spl_autoload() を使用してクラスをロードできない

私は SPL オートロード機能をいじっていますが、現在それを機能させることができないため、何か重要なものが欠けているようです。現在使用しているスニペットは次のとおりです。

echo get_include_path()私が期待したパスを取得したとき:

ただし、コードを実行すると、次のエラー メッセージが表示されます。

致命的なエラー: spl_autoload() [function.spl-autoload]: 5 行目の /home/someuser/public_html/subdomains/test/contact.php にクラス リクエストを読み込めませんでした

Request.class.php は間違いなく/home/someuser/public_html/subdomains/test/includes/classes/ ディレクトリにあります。

私は何が欠けていますか?

0 投票する
1 に答える
1569 参照

php - arrayObjectからキー値を取得します

これは私の配列です:

SPLを使用してキーの値を取得する方法を知りたいです。どのキーも配列内に配列を持つことができるので、値を取得する方法がわかりません。使用できるかもしれないと思いまし->offsetGet('')たが、これは最上位の配列からのみ取得します。

0 投票する
3 に答える
20883 参照

php - How to use RegexIterator in PHP

I have yet to find a good example of how to use the php RegexIterator to recursively traverse a directory.

The end result would be I want to specify a directory and find all files in it with some given extensions. Say for example only html/php extensions. Furthermore, I want to filter out folders such of the type .Trash-0, .Trash-500 etc.

Is what I have so far but result in : Fatal error: Uncaught exception 'UnexpectedValueException' with message 'RecursiveDirectoryIterator::__construct(/media/hdmovies1/.Trash-0)

Any suggestions?

0 投票する
1 に答える
1113 参照

php - SplObjectStorage を使用したオブジェクト ツリーのシリアライズ エラー

上記の例のように、SplObjectStorage を使用して単純な Composite パターンを実装しました。

Composite オブジェクトをシリアライズしようとすると、PHP 5.3.2 からSegmentation Fault. これは、任意のタイプの任意の数のノードをオブジェクトに追加した場合にのみ発生します。

これは問題のあるコードです:

これは機能しますが:

また、SplObjectStorage の代わりに array() を使用して Composite パターンを実装すると、すべて正常に実行されます。

私が間違っているのは何ですか?

0 投票する
2 に答える
975 参照

php - IteratorAggregateに新しい要素を書き込めませんか?

オブジェクトへのIteratorAggregate配列のような読み取りアクセスのみを提供すると考えるのは正しいですか?object-as-arrayに書き込む必要がある場合は、Iterator?を使用する必要があります。

新しい要素を追加しようとしたときに致命的なエラーを引き起こすIteratorAggregateオブジェクトのデモンストレーションは次のとおりです。


0 投票する
1 に答える
956 参照

php - RecursiveIteratorIterator 最後の子

RecursiveIteratorIterator を使用して多次元配列を反復処理し、現在の要素が深さの最後の子であるかどうかを知りたいと考えています。私はこれについて考えました:

しかし、RecursiveIteratorIterator は複製可能ではないと言っています。

0 投票する
7 に答える
6466 参照

php - PHP の SplDoublyLinkedList クラスのポイントは何ですか? さらに重要なことに、一般的なリンク リストは何ですか?

プログラミングの腕前を伸ばすために、私はThe Standard PHP Libraryを少し掘り下げました。SplDoublyLinkedListこれがクラスの発見につながりました。そこから、WikipediaのLinked ListsDoublely Linked Lists の説明を読みました。

それらがどのように機能するかは理解しています...しかし、なぜそれが必要なのか、またはSplDoublyLinkedListPHPでインデックス付きの連想配列を使用しているため、実際の例が必要な理由がわかりません。

Linked Lists は通常、PHP の内外でどのように使用されますか?

0 投票する
1 に答える
358 参照

php - マルチレベルのArrayObject()を反復処理して、画面上の階層ビューを出力します

私は出力が非常に複雑なArrayObject構造を持っています。これは、複数のレベルの関係で構成できます。たとえば、親->子->子->子などです。

このような構造は、foreach、for、またはwhileループを使用する場合の操作が非常に複雑です。SPLイテレータを調べましたが、これは使用できると思います。私は全体の概念に少し慣れていないので、複数のレベルをループすることについてのアドバイスは好評です。

ありがとう

0 投票する
2 に答える
1042 参照

php - RecursiveIteratorIterator で RecursiveArrayIterator を実装する場合の配列オブジェクト変数へのアクセス

私は次を使用してループしている大きなarrayObjectを持っています:-

配列内の特定のキーにアクセスするにはどうすればよいですか? $key と $val を echo することでそれらにアクセスできますが、アクセスしたい特定のキーがあります。$key[''] を呼び出そうとすると、キー名の最初の文字が取得されます。

編集 1

いくつかのサンプル データ (多くの異なるサブ子も存在する可能性があります):