クラスの中での配列について - PHPプロ!Q&A掲示板

239

  • 0P

クラスの中での配列について

質問日時 / 2006年11月17日 16:50    回答数 / 5件

Questioner:  kurofune  このエントリーをはてなブックマークに追加 

キーワード / クラス    配列   

下記の中で$viewを、配列にしたいのですが、
どうすれば、よいでしょうかよろしくお願いいたします。


class  Text
{
var $view = "";
    function add ($a) 
{
$this->view = $a;
}
}
$test = new Text();


$test->add("1");
$test->add("2");

$result = $test->view;

期待する結果
$result[0] = 1;
$result[1] = 2;

この質問への意見の募集は締め切られ、ポイントは既に配分されました。
意見を投稿することはできますが、ポイントを受け取ることはできません。



ツリー一覧

┣A01galluがると申します。 ちと、アクセサを経由いたしますが
┃┗A01-1kurofune有難う御座いました。
┣A02kurofuneがるさん、有難う御座いました。 やりたい事が、出来
┗A03galluがるです。 > $view_ = array(); > とするのと、
 ┗A03-1kurofuneがるさん、有難う御座いました。 経験から、よる

回答一覧

並び替え:

A01 満足
answerergallu [11月17日 17:43]

がると申します。
ちと、アクセサを経由いたしますが(そのほうが色々と安全です)。
例えばこんな感じはいかがでしょうか?

一応、PHP4にも対応できるように書いて見ます。


class Text
{
//public:

// コンストラクタ
function Text()
{
  $this->init();
}

// 初期化メソッド
function init()
{
  $this->view_ = array();
}

// 設定
function add($a)
{
  $this->view_[] = $a;
}

// 情報の取得
function get_view() { return $this->view_; }

//private:
var $view_;
} // end of class


// テストプログラム
$test = new Text();
$test->add("1");
$test->add("2");
$result = $test->get_view();

// テスト出力
print_r($result);

この意見に回答する

ツリーへ TOPへ

A01-1
replyerkurofune [11月17日 19:42]

有難う御座いました。

この意見に回答する

ツリーへ TOPへ

A02
answererkurofune [11月17日 18:22]

がるさん、有難う御座いました。
やりたい事が、出来ました。


$view_ = array();
とするのと、下のようにする違いは、何があるのでしょうか?


function init() 


$this->view_ = array(); 
}

この意見に回答する

ツリーへ TOPへ

A03 満足
answerergallu [11月17日 19:25]

がるです。

> $view_ = array();
> とするのと、下のようにする違いは、何があるのでしょうか?
> function init()
> {
> $this->view_ = array();
> }
趣味です(笑
という冗談は置いておくとして。

一度作ったインスタンスを「再利用する」時に便利なので、initに一度切り出すようにしてます。
まぁ「再利用が必要なの?」って話も多々あるのですが、案外必要になることがあるので(メモリが圧迫してるとか圧迫してるとか)。
なんとなく癖で、いつもこんな風にやってますね。

あと、initに切っておくと、後で「初期値」が欲しいようなときにも扱いやすいので。

その程度の、あんまり深くない理由によります(笑

この意見に回答する

ツリーへ TOPへ

A03-1
replyerkurofune [11月17日 19:41]

がるさん、有難う御座いました。


経験から、よるものなんですね、


いつか、自分にも分かる日が来るのかな!?

この意見に回答する

ツリーへ TOPへ

<<質問一覧へ



Pick Up Q&A

Q
セッションがいいのか、それともデータベースがいいのか教えて下さい。
 このエントリーをはてなブックマークに追加 
A
>ボタンをクリックしたら選んだ商品情報を持っておきたいと思っています。 そのくらいのことならセッションもしくはCookie(期限短め:場合によってはブラウザ閉じるまで)でいいんじゃないですかね。 #わ...

>>続きを読む

一つの目安として、ECサイトの購入情報など絶対に消えてはいけないものはDBに、カートなどの一時的に使用する情報や、ユーザに任意のタイミングで消去されても構わないものはセッションにと使い分けるといいでしょう。

▲解説者:岡本(アシアル株式会社 教育コーディネーター兼 システムエンジニア)