2011-12-10 14 views
-1

私は2つのプライベートアレイを持っており、全体としてstr_replace($content, $array1, $array2)の両方にコンテンツを追加しようとしています。なぜ私のアレイは満たされていませんか?

class whyWontThisWork { 
     private $replaceArr = array(); 
     private $replacedArr = array(); 
     public function addReplacement ($tag,$rep) { 
      $this->replaceArr[] = $tag; 
      $this->replacedArr[] = $rep; 
     } 
} 

ので、私は、オブジェクトを開始し、その後

$myObjectCreatedEarlier->addReplacement("Something","SomethingElse"). 

$this->replaceArrは、その中の「何か」を持っている呼び出し、私のビジネスに取り掛かる:

は、ここで基本的な例です。

しかし、もう1つの配列$this->replacedArrには "SomethingElse"という文字列が含まれていないため、その理由についてはわかりません。私はprint_rのようないくつかの基本的なデバッグを行いました。$repが存在していて、コードを移動していても間違ったものは見つかりませんでした。ほとんどの問題と同様に、あなたが作ったエラーを見るために他の人が必要なだけなので、誰かが助けてくれますか?

EDIT

は、それが私の部分にスペルの間違いだった、間違いを発見されました。人々を助けようとしてくれてありがとう、私の言葉のために私のクラス全体の単語を貼り付けることなしには理解できなかったはずのものを助けてくれてありがとう。

嬉しいことに、何らかのバグではありませんでした。

+1

あなたがそれを呼び出していると、構文エラーが発生します。何かの後に引用符がありません。それ以外は、呼び出し文のクラスへの参照は表示されません。 – Dan

+0

ああ申し訳ありませんが、これはサンプルコードを使って、クラス全体を投稿できないImとして抽出されます。それは普通のクラスとして呼ばれています。それを間違ってフォーマットする他の人が編集したように投稿を編集しないでください。 –

+1

私はあなたのコードをコピーし、値を出力するメソッドを追加し、それは私のためにうまく動作します。配列の内容をどうやってチェックしますか? '$ myObjectCreatedEarlier-> output();'のようなことを行い、その方法では両方の配列のvar_dumpを行います。 – Dan

答えて

1

プライベートプロパティを持つオブジェクトをprint_r()すると、それらのプライベートプロパティの値が表示されないことがあります。 print_r()自身のクラスにデバッグ関数を置き、そのメソッドを別の場所で呼び出してみてください。

あなたが表示したコードから、明らかに間違ったことはありません。

関連する問題