• 締切済み

phpでのクラスについて

php初心者です。 最近クラスについて学んだので、実際に使ってみたいと思っています。 $comment[a] = "aaaa"; $comment[b] = "bbbb"; $comment[c] = "cccc"; こんな感じで、画面に表示する文章を連想配列にして格納していたんですが、これをクラスにしてまとめてみたいと思ってるんですけど、どういう感じにすると良いんでしょうか? ちょっと初歩的なクラスの質問だとは思いますが、どなたか教えてください。

  • PHP
  • 回答数2
  • ありがとう数12

みんなの回答

回答No.2

配列への格納を楽にしたいってことなのかな…? class Sample{ var $comment; function setComment($key,$txt) { $this->comment[$key]=$txt; } function getComment(){ foreach($this->comment as $key => $val){ return $key ." : ".$val; } } } $sample = new Sample(); $sample->setComment("a","aaa"); print $sample->getComment();

pop4532
質問者

お礼

返事が大変遅れてしまい、申し訳ありませんでした。 質問への回答、ありがとうございました。 配列への格納を楽にしたいというのではなく、連想配列の代わりにクラスを使って書いてみるやり方が聞きたかったのでした。 分かりづらい質問ですみませんでした。

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

例示の内容からクラスへの理解が十分かどうか汲み取れませんが とりあえずこんな感じを期待していますか? <?PHP class hoge{ function __construct(){ $comment=$this->set_comment(); $this->printr_comment($comment); } function set_comment(){ $comment["a"] = "aaaa"; $comment["b"] = "bbbb"; $comment["c"] = "cccc"; return $comment; } function printr_comment($comment){ print_r($comment); } } new hoge; ?>

pop4532
質問者

お礼

返事が大変遅れてしまい、申し訳ありませんでした。 質問への回答、ありがとうございました。 ご指摘のとおり、クラスへの理解が不十分でした。 期待していた回答とはちょっと違うのですが、非常に勉強になりました。

関連するQ&A

  • PHPの変数で最初から2行分の文字列を取得したい

    phpで変数に格納されたデータの最初の2行分の文字列だけを取り出す方法を教えてください。 例)複数行のデータ(\n区切り) aaaa bbbb cccc dddd 上記のデータが変数$valueに格納されています。 $valueに格納されたaaaa~bbbbまでを取得するにはどうしたらいいのでしょうか?

    • ベストアンサー
    • PHP
  • 配列の値を一行あけて出力

    配列の値を一行あけて出力したいのですが、うまくいきません。 ご教授お願いいたします。 <shell> #!/bin/bash ARRAY=("aaaa" "bbbb" "cccc") IFS=$'¥n'$'¥n' echo "${ARRAY[*]}" <現在の出力> aaaa bbbb cccc <期待する出力> aaaa bbbb cccc

  • PHPにてクラスを配列にすることは可能でしょうか。

    PHPにてクラスを配列にすることは可能でしょうか。 環境はPHP5です。 現在下記のようなクラスを作成しました。 class Ary_c { var $v1; // コンストラクタ function Ary_c() { $this->v1 = "test"; } } このクラスをC++言語などで出来るような、 クラスの配列として扱いたいのです。 C++だとたとえば10個の要素があるクラスの配列は Ary_c t[ 10 ]; みたいな感じで宣言できます。 こういったことをPHPでやることは可能でしょうか。

    • ベストアンサー
    • PHP
  • PHP 読み込んだファイルのブラウザ表示につい

    読み込んだTXTファイルの内容をブラウザに表示したいと思っています。 TXTファイルには aaaa bbbb cccc が入っています。 読み込んだデータを <?php $data = fopen("test.txt","r"); fpassthru($data); ?> でブラウザに表示しようとすると {\rtf1\ansi\ansicpg932\cocoartf1038\cocoasubrtf350 {\fonttbl\f0\fswiss\fcharset0 Helvetica;} {\colortbl;\red255\green255\blue255;} \paperw11900  ~ 省略 ~  \cf0 aaaa\ bbbb\ cccc} と最後にTXTの中身がありますが、余計なものも一緒に表示されてしまいます。 aaaa bbbb cccc と表示させるにはどうすればよいでしょうか?

    • ベストアンサー
    • PHP
  • フレームワークのクラス

    連想配列とオブジェクトの決定的な違いってなんですか? laravelというフレームワークを使っているのですが、フレームワークは基本クラスのオブジェクトに情報を格納してますよね? それは連想配列でも可能なわけで・・・ 連想配列よりオブジェクトの方が便利なのでしょうか?

    • ベストアンサー
    • PHP
  • postgresql 合計値 PHP

    失礼します現在テーブルからあるキーのフィールドの合計値を出していきたいのですがうまくいきません 例 テーブル名(test_tbl) user | count ----------------- aaaa | 6 bbbb | 5 bbbb | 6 aaaa | 4 cccc | 9 とあった場合 aaaa | 10 bbbb | 11 のように出力がしたく、SQLを作成しました。countが文字列で格納されているのでto_numberを使用しました $sql = "SELECT user, SUM(to_number(count)) FROM test_tbl GROUP BY user HAVING SUM(to_number(count)) >= 10"; しかしエラーが出てしまいます。どの部分が間違っているのでしょうか? 宜しくお願い致します。

  • 連想配列を array_multisort() でphp4、php5の違い

    いつもお世話になります。 連想配列をarray_multisort()でソートしようとしています。 php5のサーバでは思うように動作するのですが、 php4のサーバでは、ソートされません。 print_r($ary); Array ( [BuID] => 11 [BuName] => aaaa [yymmdd] => 080507 [DateDisp] => 08年05月07日(水) [DateType] => 1210086000 [TaikaiName] => AAAA [HRef] => [AnkName] => ) Array ( [BuID] => 12 [BuName] => bbbb [yymmdd] => 080822 [DateDisp] => 08年08月22日(金) [DateType] => 1219330800 [TaikaiName] => BBBBBBBB [HRef] => [AnkName] => ) ・・・・・・・・・・・・・・・・・ ・・・・・・・・・・・・・・・・・ の様な連想配列をyymmddでソートしようとしています。 php5.2.6だと、 foreach($ary as $key => $row){ $yymmdd[$key] = $row['yymmdd']; } array_multisort($yymmdd,SORT_DESC,$ary); で、$aryにyymmddで並び替えられた配列が入ります。 しかし、php4.2.2では、ソートされず、もとの配列がそのまま$aryに入ってしまいます。 array_multisort()は、phpのバージョンによって動作が異なるような記載もありません。 どなたかわかる方見えましたらよろしくお願いいたします。

    • ベストアンサー
    • PHP
  • サクラエディタのマクロで外部から取り込んで

    以下のようなことをしたいのですが、サクラエディタのマクロでできますでしょうか? またそれ以外の方法でも構いません。 <ファイル1> AAAA BBBB CCCC ・・・ ・・・ <編集ファイル> これはXXXXです。  <-XXXXを変数でAAAAやBBBBに変えたい。追記したい。 これはAAAAです。 これはBBBBです。 これはCCCCです。 ・・・・・・・・ ・・・・・・・・ このような感じで追記で外部ファイルから1行ずつ読み出して、 任意の文字を置くことはできますでしょうか? よろしくお願いします。

  • アクセス フィールド値を分割したい

    いつも大変お世話になっております。 初心者につき、ご教示いただけますと幸いです。 アクセスのテーブル・フィールドに AAAA,BBBB,CCCC という値が入ってしまうため 「,」を区切りに分割したいです。 テーブル:T_商品 フィールド: 顧客ID|注文内容(連結で入ってしまうフィールド) 0001|AAAA 0002|AAAA,BBBB 0010|AAAA,BBBB,CCCC 0101|AAAA,BBBB,CCCC,DDDD,・・・ といったように、連結した値の数はまちまちで、 最大10個になります。 ちなみに、 これを ↓フィールド名 顧客ID|注文商品   に 0001|AAAA 0002|AAAA 0002|BBBB 0010|AAAA 0010|BBBB 0010|CCCC  ・  ・  ・ といったように、 最終的には 1つのフィールドにまとめたいです。 ご教示のほど、よろしくお願い致します。 尚、前半の「連結値を分割」だけでも テーブル更新(分割毎にフィールドに挿入)できれば、とても助かります! →この場合、予備フィールドなどを作成しておくか、  ワークテーブルなどで処理になりますでしょうか。 是非とも、よろしくお願い致します。

  • 文字列の出力

    C言語を使用しています。C初心者で分からないことがたくさんあって困っています。 文字列で"AAAABBBBCCCCDDDD"というのを出力する時に AAAA BBBB CCCC DDDDのようにスペースで区切って出力するにはどのようにしたらよいのでしょうか?

専門家に質問してみよう