問題タブ [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 - DirectoryIteratorスキャンで「。」を除外します および「..」ディレクトリにはまだそれらが含まれていますか?
以下のスクリプトでは、$baseディレクトリに存在するフォルダを$targetディレクトリにコピーしようとしています。ただし、最初のエコーテストでは、が返されます。条件付きでその例外を処理しようとしているのに、..ディレクトリ。
私は何が欠けていますか?
ただし、条件を...に変更した場合、これは私には意味がありません。
$base内の正しいフォルダを返します。何?
php - copy()関数の最初の引数をディレクトリにすることはできませんか?
更新:Pascalの提案された答えについて、これが私の修正されたコードです。これは機能します。
php - PHPの事前定義されたインターフェイスとSPL-バージョンチェックで十分ですか?
これはおそらく明白な質問ですが、私は確信したいと思います。
「事前定義されたインターフェース」がPHPにどのバージョンで登場したかを調べようとしています。ドキュメントに従ってSPLインターフェイスが追加されたときのように、私の仮定は5.0.0です。
さらに、これらを構成または再コンパイルによって無効にすることはできますか、それともバージョンチェックがそれらの存在を満たしていると安全に想定できますか?なぜそれらはSPLから分離されているのでしょうか。差別化要因は、SPLをオフにすることはできるのに、これらをオフにすることはできないということだけですか。(少なくとも5.3.0より前)
php - PHP5.2でsplheapを使用する
PHP 5.2でsplheapを使用する方法はありますか?つまり。クラスをどこかに貼り付けることはできますか?具体的には、イテレータでアイテムを並べ替えるために使用したいと思います。イテレータでusort()に相当するものを探しています。
php - コードの処理に時間がかかりすぎ、メモリ フットプリントが大きい
このコードは 0.8 秒で実行され、私のマシンでは 22Mb のメモリを消費します。
高速化するために何ができるか、さらに重要なのは、いつでも消費するメモリフットプリントを下げることです.
php - PHP5: SplObjectStorage ガベージ コレクション
管理対象オブジェクトに関する情報を保持するためにSplObjectStorageを使用しています。SplObjectStorage
オブジェクトが破壊されたときに、外部参照がなくなったオブジェクトを自動的にクリーンアップしたいと考えています。
現在、これには 2 つのオプションしかありません。
- 管理対象オブジェクトのデストラクタにストレージへの参照を削除するよう通知させる。これらのオブジェクトはマネージャーを認識する必要がないため、これは受け入れられません。
- debug_zval_dump()を解析して参照カウントを取得します。同様に受け入れられません。私見は、深刻なアプリケーションにはあまりにも「ハック」です。
他のアイデアはありますか?
php - PHP 遅延配列マッピング
array_map をイテレータとして行う方法はありますか?
例えば:
これを行う理由は、$function の計算が難しく、$array の要素が多すぎるため、特定の値が見つかるまでマッピングする必要があるためです。array_map は、必要な値を検索する前にすべての値を計算します。
イテレータを自分で実装することもできますが、これを行うネイティブな方法があるかどうかを知りたいです。PHPドキュメントを検索しても何も見つかりませんでした。
php - オブジェクト LimitIterator - OutOfBoundsException
foreach
オブジェクト LimitIterator が空の場合、以下を実行しない条件をどのように記述できますか?
上記のコードはこのエラーを返します。
foreach
オブジェクト LimitIterator が空の場合に実行したくないだけです。
編集:
$limiter->valid();
が常に を返すのはなぜfalse
ですか? 私は自分のサイトのページで以下のコードを実行しています。
php - PHP 5.2.6 で SplEnum を使用することは可能ですか?
私はクラスを使用しようとしました:
と
そして、私が持っています :
致命的なエラー: クラス 'SplEnum' が見つかりません
私はPHP 5.2.6で作業しています。SplEnum は php > 5.3 用ですか? ドキュメントにはそうは見えません...
php - PHP arrayObject で array_unshift する方法
array_unshift()
タイトルで述べたように、 on aarrayObject
を実行array_push()
するにはどうすればよいですarrayObject->append()
か?
編集:私が言及するのを忘れていたのは、この特定のケースでは既存のキーを保持する必要があるということです。