問題タブ [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 投票する
2 に答える
2223 参照

php - DirectoryIteratorスキャンで「。」を除外します および「..」ディレクトリにはまだそれらが含まれていますか?

以下のスクリプトでは、$baseディレクトリに存在するフォルダを$targetディレクトリにコピーしようとしています。ただし、最初のエコーテストでは、が返されます。条件付きでその例外を処理しようとしているのに、..ディレクトリ。

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

ただし、条件を...に変更した場合、これは私には意味がありません。

$base内の正しいフォルダを返します。何?

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

php - copy()関数の最初の引数をディレクトリにすることはできませんか?

更新:Pascalの提案された答えについて、これが私の修正されたコードです。これは機能します。

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

php - PHPの事前定義されたインターフェイスとSPL-バージョンチェックで十分ですか?

これはおそらく明白な質問ですが、私は確信したいと思います。

「事前定義されたインターフェース」がPHPにどのバージョンで登場したかを調べようとしています。ドキュメントに従ってSPLインターフェイスが追加されたときのように、私の仮定は5.0.0です。

さらに、これらを構成または再コンパイルによって無効にすることはできますか、それともバージョンチェックがそれらの存在を満たしていると安全に想定できますか?なぜそれらはSPLから分離されているのでしょうか。差別化要因は、SPLをオフにすることはできるのに、これらをオフにすることはできないということだけですか。(少なくとも5.3.0より前)

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

php - PHP5.2でsplheapを使用する

PHP 5.2でsplheapを使用する方法はありますか?つまり。クラスをどこかに貼り付けることはできますか?具体的には、イテレータでアイテムを並べ替えるために使用したいと思います。イテレータでusort()に相当するものを探しています。

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

php - コードの処理に時間がかかりすぎ、メモリ フットプリントが大きい

このコードは 0.8 秒で実行され、私のマシンでは 22Mb のメモリを消費します。

高速化するために何ができるか、さらに重要なのは、いつでも消費するメモリフットプリントを下げることです.

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

php - PHP5: SplObjectStorage ガベージ コレクション

管理対象オブジェクトに関する情報を保持するためにSplObjectStorageを使用しています。SplObjectStorageオブジェクトが破壊されたときに、外部参照がなくなったオブジェクトを自動的にクリーンアップしたいと考えています。

現在、これには 2 つのオプションしかありません。

  • 管理対象オブジェクトのデストラクタにストレージへの参照を削除するよう通知させる。これらのオブジェクトはマネージャーを認識する必要がないため、これは受け入れられません。
  • debug_zval_dump()を解析して参照カウントを取得します。同様に受け入れられません。私見は、深刻なアプリケーションにはあまりにも「ハック」です。

他のアイデアはありますか?

0 投票する
8 に答える
3517 参照

php - PHP 遅延配列マッピング

array_map をイテレータとして行う方法はありますか?

例えば:

これを行う理由は、$function の計算が難しく、$array の要素が多すぎるため、特定の値が見つかるまでマッピングする必要があるためです。array_map は、必要な値を検索する前にすべての値を計算します。

イテレータを自分で実装することもできますが、これを行うネイティブな方法があるかどうかを知りたいです。PHPドキュメントを検索しても何も見つかりませんでした。

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

php - オブジェクト LimitIterator - OutOfBoundsException

foreachオブジェクト LimitIterator が空の場合、以下を実行しない条件をどのように記述できますか?

上記のコードはこのエラーを返します。

foreachオブジェクト LimitIterator が空の場合に実行したくないだけです。

編集:

$limiter->valid();が常に を返すのはなぜfalseですか? 私は自分のサイトのページで以下のコードを実行しています。

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

php - PHP 5.2.6 で SplEnum を使用することは可能ですか?

私はクラスを使用しようとしました:

そして、私が持っています :

致命的なエラー: クラス 'SplEnum' が見つかりません

私はPHP 5.2.6で作業しています。SplEnum は php > 5.3 用ですか? ドキュメントにはそうは見えません...

0 投票する
5 に答える
4849 参照

php - PHP arrayObject で array_unshift する方法

array_unshift()タイトルで述べたように、 on aarrayObjectを実行array_push()するにはどうすればよいですarrayObject->append()か?

編集:私が言及するのを忘れていたのは、この特定のケースでは既存のキーを保持する必要があるということです。