問題タブ [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.
php - SPL vs. 配列: PHP で SPL を使用する必要がある場合と配列を使用する必要がある場合はいつですか?
Java と C++ でサイズがわからない場合 - 配列は PHP のように使用されず、代わりに linkedList などが使用されます。
PHP には SPL が存在しますが、ほとんどの場合、プログラマーは配列を使用します。なぜ (人々は SPL について知らないため)?
PHP と whenSPL で配列を使用する必要がある場合と、この場合の PHP と Java/C++ の違いは何ですか?
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/ ディレクトリにあります。
私は何が欠けていますか?
php - arrayObjectからキー値を取得します
これは私の配列です:
SPLを使用してキーの値を取得する方法を知りたいです。どのキーも配列内に配列を持つことができるので、値を取得する方法がわかりません。使用できるかもしれないと思いまし->offsetGet('')
たが、これは最上位の配列からのみ取得します。
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?
php - SplObjectStorage を使用したオブジェクト ツリーのシリアライズ エラー
上記の例のように、SplObjectStorage を使用して単純な Composite パターンを実装しました。
Composite オブジェクトをシリアライズしようとすると、PHP 5.3.2 からSegmentation Fault
. これは、任意のタイプの任意の数のノードをオブジェクトに追加した場合にのみ発生します。
これは問題のあるコードです:
これは機能しますが:
また、SplObjectStorage の代わりに array() を使用して Composite パターンを実装すると、すべて正常に実行されます。
私が間違っているのは何ですか?
php - IteratorAggregateに新しい要素を書き込めませんか?
オブジェクトへのIteratorAggregate
配列のような読み取りアクセスのみを提供すると考えるのは正しいですか?object-as-arrayに書き込む必要がある場合は、Iterator
?を使用する必要があります。
新しい要素を追加しようとしたときに致命的なエラーを引き起こすIteratorAggregateオブジェクトのデモンストレーションは次のとおりです。
php - RecursiveIteratorIterator 最後の子
RecursiveIteratorIterator を使用して多次元配列を反復処理し、現在の要素が深さの最後の子であるかどうかを知りたいと考えています。私はこれについて考えました:
しかし、RecursiveIteratorIterator は複製可能ではないと言っています。
php - PHP の SplDoublyLinkedList クラスのポイントは何ですか? さらに重要なことに、一般的なリンク リストは何ですか?
プログラミングの腕前を伸ばすために、私はThe Standard PHP Libraryを少し掘り下げました。SplDoublyLinkedList
これがクラスの発見につながりました。そこから、WikipediaのLinked ListsとDoublely Linked Lists の説明を読みました。
それらがどのように機能するかは理解しています...しかし、なぜそれが必要なのか、またはSplDoublyLinkedList
PHPでインデックス付きの連想配列を使用しているため、実際の例が必要な理由がわかりません。
Linked Lists は通常、PHP の内外でどのように使用されますか?
php - マルチレベルのArrayObject()を反復処理して、画面上の階層ビューを出力します
私は出力が非常に複雑なArrayObject構造を持っています。これは、複数のレベルの関係で構成できます。たとえば、親->子->子->子などです。
このような構造は、foreach、for、またはwhileループを使用する場合の操作が非常に複雑です。SPLイテレータを調べましたが、これは使用できると思います。私は全体の概念に少し慣れていないので、複数のレベルをループすることについてのアドバイスは好評です。
ありがとう
php - RecursiveIteratorIterator で RecursiveArrayIterator を実装する場合の配列オブジェクト変数へのアクセス
私は次を使用してループしている大きなarrayObjectを持っています:-
配列内の特定のキーにアクセスするにはどうすればよいですか? $key と $val を echo することでそれらにアクセスできますが、アクセスしたい特定のキーがあります。$key[''] を呼び出そうとすると、キー名の最初の文字が取得されます。
編集 1
いくつかのサンプル データ (多くの異なるサブ子も存在する可能性があります):