人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

(PHP)DBのaaaというカラムに moge,hatena,web,google といった感じに単語を,で区切った値が入っています。

行いたいことは,を取り除き各単語を各変数に格納することです。

●質問者: esecua
●カテゴリ:ビジネス・経営 コンピュータ
✍キーワード:AAA dB Google Hatena PHP
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● zifree
●25ポイント

http://2php.jp/php/explode.html

2php : PHP explode()

explode()で可能です。

各変数に格納するのであれば


$data = ”moge,hatena,web,google”;

list($foo,$bar,$baz,$qux) = explode(”,”,$data);


といった感じでどうでしょうか。

http://php.benscom.com/manual/ja/function.explode.php

PHP: explode - Manual

http://jp2.php.net/manual/ja/function.split.php

PHP: split - Manual

正規表現を使いたい場合はsplit()やpreg_split()で同様のことが可能です。

◎質問者からの返答

回答ありがとうございました。

再度質問なのですが、DBに入っている単語の数が把握できない場合はどうすればいいのでしょうか?

例えば

list()に入る変数の数はDB入っている単語と同じ数、つまりmoge,hoge,hh の場合$1,$2,$3のように1からの数字を変数に割り当てるようにするにはどうしたらいいのでしょうか?

よろしくお願いいたします。


2 ● zifree
●25ポイント

http://homepage2.nifty.com/sak/w_sak3/doc/sysbrd/php_k08.htm

PHP 基礎編8 - 配列操作、sort、asort、ksort、array_push、array_shift - SAK Streets

explode()の戻り値は配列に入るので、単語の数がわからなければ配列を使うべきです。


$data = ”moge,hatena,web,google”;

$foo = explode(”,”,$data);


この場合、$foo[0]にmoge、$foo[1]にhatenaが入ります。

print ”<p>$foo[2]</p>¥n”

web

が出力されることになります。

http://php.benscom.com/manual/ja/function.count.php

PHP: count - Manual

配列に入っている要素の数(今回の例では単語の数)はcount()で判断できます。

$ct = count($foo);

print ”<p>$ct</p>¥n”

とすると4が出力されます。

配列の添字([]内の数字のこと)は0から始まるので、

count($foo)の結果が4であれば$fooの要素は$foo[0]から$foo[3]まで存在することがわかります。

($foo[4]は存在しないことに注意して下さい)

http://php.benscom.com/manual/ja/control-structures.foreach.php

PHP: foreach - Manual

配列の中身を参照する方法はいろいろありますが、全てを1つずつ参照する場合foreachが便利です。

foreach ($foo as $hoge) {

print ”$hoge¥n”;

}


とすると

moge

hatena

web

google

と、$hogeに配列$fooの要素が最初から順番に入って出力されます。

http://www.shigeweb.jp/php/project_p/?section=first&page=arr...

【 ほでなすPHP 】 PHPの基本

◎質問者からの返答

丁寧な回答ありがとうございました。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ