問題タブ [unset]

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 投票する
1 に答える
222 参照

php - __get、__ set、および__unsetを使用したクラス内の予期しない配列の内容

私が抱えている問題の簡単なデモンストレーションを作成しました。これは私がそれを実装している方法とは正確には異なりますが、同じ結果につながるようです。

上記のコードの出力は次のとおりです。

私が期待していたところ:

__get、__ set、および__unset関数はすべて適切な場所で呼び出されているため、関数を直接呼び出して$ this-> fooの設定を解除し、同じデータを再度入力することを期待していました。つまり、var_dumpingは同じ出力を提供します。代わりに、まあ、それは上記を行うことになります...直接設定された3つの文字列のうちの2つで埋め、最初の3つの最初に設定された文字列を保持します。

おそらく、単なるばかげた間違いか、オーバーロード関数の誤解です。いずれにせよ、私はここで長い間立ち往生しているので、助けていただければ幸いです。

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

php - PHPで変数の設定を解除する

PHPマニュアルで未設定の変数について読んだところです。

PHPマニュアルには、 「unset()は指定された変数を破棄する」と書かれています

この定義は、静的変数に遭遇するまで完璧に思えます... 「静的変数が関数内で unset() である場合、unset() は、関数の残りの部分のコンテキストでのみ変数を破棄します。次の呼び出しは、以前の変数を復元します。変数の値。」

この定義は、少なくとも私にとっては良いものではないようです。「変数を破棄する」は、変数がそのメモリ位置に関連付けられていないことを意味するからです。

「unset() は変数を現在のスコープから外します」というより良い定義を考えている人はいますか? つまり、寿命を指すのではなく、ここで単語スコープを使用する方が良いですか?

0 投票する
6 に答える
432 参照

php - PHP のメモリの問題 (5)

を呼び出すunset()と、そのオブジェクトに関連付けられていたメモリが解放されますか? 大規模な連想配列を処理していて、完了したらそれらを削除したい場合がいくつかあります (新しい連想配列を作成するためにメモリを解放します)。

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

php - unset()を使用した後、配列のインデックスを再作成するにはどうすればよいですか?

を使用した後、配列の順序が失われるのに少し問題がありunset()ます。これは私が使用しているコードです。

$my_array4つのアイテムがあり、$my_array[1]に等しいと仮定し$idます。それを設定解除した後、ループして$my_array未定義のオフセット:1エラーが発生します。で、、、、print_r($my_array)を取得します。$my_array[0]$my_array[2]$my_array[3]

私はそれが起こっている理由を完全に理解しています。アイテム2'がアイテム1にドロップし、残りのアイテムがそれぞれ配列の最後にドロップするように、配列のインデックスを再作成する方法はありますか?

のようなものreindex($my_array)は甘いでしょう。新しい配列を使用して別のforループを実行し、それらを手動で転送できることはわかっていますが、ワンステップソリューションは素晴らしいでしょう。どこにも何も見つかりませんでした。

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

php - PHPでメモリをクリーンアップするための最良の方法は何ですか? (5.2)

簡単な質問が 2 つあります。メモリのクリーンアップに適している/役立つものは何ですか。

また

私は1サイクルで1つの機能を持っています。私は得ています(数分後)

null を設定し、(サイクルの最後に) すべてのオブジェクトを unset()-ing していますが、まだ成功していません:(メモリを消費しているものを見つけることができません。

そして、サイクル内の関数呼び出しはどうですか? PHP はこれらの関数のすべての割り当てを解放しますか? (呼び出し後)

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

php - simpleXMLでノードが存在する場合にノードを削除する方法

したがって、削除しようとしているノードの正確なパスがわかります。一部のコンテンツを更新するために、いくつかのxmlファイルを繰り返し処理しています。新しいコンテンツの一部を追加するには、最初に既存のコンテンツを削除する必要があります。

使用しようとしたコードは次のとおりですが、解析エラーが発生します:構文エラー、予期しないT_UNSET

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

php - セッションからのアイテムの削除

ショッピングカートプロジェクトのセッション配列内のアイテムを削除できません。次のコードは、選択したアイテムを取得して、セッションから削除する必要があります。ただし、最終結果は、何も削除されていない以前とまったく同じセッションになります。グーグルで同様の問題が発生しましたが、まだ実用的な解決策は見つかりませんでした。簡略化されたコードは次のとおりです。

print_rが以下に与えるものは次のとおりです(削除されたアイテムの例として「7」を使用)。

明らかな何かが欠けていますか?

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

php - 参照を介して配列の要素の設定を解除します

参照メソッドを介して、多次元配列内のどこにでもアクセスできます。そして、その値を変更することができます。例えば:

しかし、私はそのセクションを破壊することはできません:

解決策はありますか?

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

php - 余分なスペースはプロセッサの速度を低下させますか?

ノードの設定を「正しく」解除する方法を学んだ後、PHPのunset()関数を使用すると、タブとスペースが残されることに気付きました。だから今、私は時々ノードの間にこの大きな空白の塊を持っています。PHPが空白/リターン/タブを繰り返すかどうか、そしてそれが最終的にシステムの速度を低下させるかどうか疑問に思っています。

また、未設定の葉が残したスペースを簡単に削除できるかどうかも尋ねています。

ありがとう、ライアン

追記:

これは、ノードの設定を解除した後に空白を削除した方法であり、それは私のために機能しました。

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

php - php-$thisの設定を解除します

ファイルラッパーのように機能するクラスを作成しました。ユーザーがdeleteメソッドを呼び出すとき、オブジェクト(実際には$ this)の設定を解除したいと思います。それを行う方法(回避策)はありますか?マニュアルには「いいえ、方法はありません...」と書かれています。