トップページphp
1001コメント342KB

【PHP】 Smarty 隔離スレ 【テンプレート】

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2008/02/02(土) 00:21:09ID:6cKcKeTp
まぬあるhttp://www.smarty.net/manual/ja/
0582nobodyさん2009/08/03(月) 09:46:29ID:???
>>581
DB使うメリットないとか言っといて
結局要件しだいかよw
0583nobodyさん2009/08/03(月) 10:57:19ID:???
>>581
つまり、結局は「DB化した方が遥かに楽」なケースが”ある”ということですね
0584nobodyさん2009/08/03(月) 17:52:34ID:???
>>582-583
最初から『意味も無く』FSをDBに置き換えるのがナンセンスと書いてるじゃないかw

揚げ足取りはいいから、具体的なメリットデメリットを提示してくれよ、
大手が使ってるとか、Open系CMSが使ってるからでは話にならん。
0585nobodyさん2009/08/03(月) 18:04:36ID:???
っていうか大手CMSサイトってPHP+Smartyなの?その時点でその話は破綻している。
0586nobodyさん2009/08/03(月) 18:24:53ID:???


どちらも都合のいいように解釈しすぎで、この話はいつまで経っても平行線。
0587nobodyさん2009/08/03(月) 18:59:14ID:???
平行線にすらなっていない。
DB厨がファビョっているだけだ。
0588nobodyさん2009/08/03(月) 20:12:30ID:???
ファビョってるのはむしろお前だろ?1人で戦っているつもりだろうがw
0589nobodyさん2009/08/03(月) 21:44:15ID:???
いちいち煽りに反応しなくていいからw 

とりあえず君のすばらしい経験談と、DB捌きっぷりをこのスレに轟かせれば、
もう少しましな流れになるんじゃないかな?

(^o^)でーたべーす は すごく すごい!・・・なぜなら、すごいから!
(^o^)でーたべーす の すごさがわからないやつは すごくない!
0590nobodyさん2009/08/03(月) 22:23:10ID:???
「要件次第でDB使う」でみんな納得。
丸く納まってよかった。
0591nobodyさん2009/08/03(月) 22:34:30ID:???
以下Smarty3を語るスレになりました。
開発ペース遅すぎるよね。
0592nobodyさん2009/08/04(火) 00:10:08ID:???
htmltemplate.php で十分だしー
0593nobodyさん2009/08/04(火) 00:13:10ID:???
>>590
すまんけどどういう要件ならDB、FSを使うべきかまとめてくれないか?
0594nobodyさん2009/08/04(火) 01:04:56ID:???
>>593
大規模案件ならDB でいいんじゃないか。
0595nobodyさん2009/08/04(火) 01:51:48ID:???
>>593
基本的にはFSじゃないかね。
DBは使う必要があれば使えばいい。
あまり思い浮かばないし、実例も聞かないけどね。
0596nobodyさん2009/08/04(火) 02:01:18ID:???
すまん
結局>>581が結論でいいんじゃないかと言いたかった。
0597nobodyさん2009/08/04(火) 09:05:44ID:???
OK
0598nobodyさん2009/08/04(火) 11:09:38ID:???
>>591
ぜひ参画してくださいよ
0599nobodyさん2009/08/04(火) 11:24:56ID:???
大規模案件にはJAVAという逆説。
0600nobodyさん2009/08/10(月) 18:05:18ID:euq/7Zv+
すみません、質問です
テンプレートファイル内で、{php}〜{/php}って形で、phpのプログラムを実行出来ますが、
この「〜」の部分で、assignされた変数を操作することは出来ないでしょうか

{php}
//ここで{$name}の中身を変更したり、{$name}をキーにして画像を出力する関数を実行したい
{/php}

私の名前は{$name}です

こんな感じで…
よろしくお願いします。
0601nobodyさん2009/08/10(月) 18:19:27ID:???
そのロジックはテンプレートじゃなくて、呼び出し元に書くべきでは・・・

やった事ないけど、Smartyインスタンスをなんらかの形で参照すれば出来るんじゃない?
グローバル変数にするとか、シングルトン使うとか、etc
0602nobodyさん2009/08/10(月) 18:26:43ID:euq/7Zv+
>>601
ありがとうございます、やっぱり呼び出し元でやるべきなんでしょうか?
いまassignされて引き渡されるデータが配列一つなので、それを元にテンプレートでやった方がスマートなんですよね
呼び出し元で各値の条件分岐分やるとassign assign assign…とassignだらけになってしまうので
テンプレ長くする方が問題かなぁ
0603nobodyさん2009/08/10(月) 18:35:23ID:???
>>602
もしかしてこんな感じで解決しない?

if(...) {
$a=1;
} else {
$a=2;
}
$smarty->assign('a',$a);
0604nobodyさん2009/08/10(月) 18:43:35ID:euq/7Zv+
>>603
ありがとうございます、そうですねー、確かにassign段階で書くとそんな感じですよね
決めました。そうします。
テンプレかアクションかどっちかが絶対ゴチャゴチャするなら一緒ですねもう。
いや、テンプレ変更する時のデメリットの方が大きそうだし。。
アドバイスありがとうございました!
0605nobodyさん2009/08/10(月) 19:16:08ID:???
>>604
条件分岐やるとassignが増えるってどういうこと?
配列をそのまま使えば?
0606nobodyさん2009/08/10(月) 19:21:31ID:???
>テンプレかアクションかどっちかが絶対ゴチャゴチャするなら一緒ですねもう。
テンプレートとロジックの切り分けは、そのゴチャゴチャを纏める事にあるんだよw

アクションとテンプレ両方で値を編集しちゃうと、
どこでバグが発生したか突き止められなくなっちゃうでせう。
0607nobodyさん2009/08/10(月) 19:38:15ID:???
>>605
例えば、入力任意のファックス番号とかあったとして、必須入力だったら確かにテンプレでは配列そのまま使って
FAX:{$ary.faxNum} で済むけど、必須じゃないんでその前段階のアクションで
if($ary['faxNum'];){$faxNum = $ary['faxNum'];}
else{$faxNum = "-";}
//assign処理
ってやる必要あるじゃないですか。それが嫌だったんですよ。
必須入力じゃない項目の数だけassignしまくらなきゃいけない。めんどくさいなぁと。
そこでphpかsmartyの構文で、テンプレの中で{if}とかしようと思ったんだけど…

でも、確かに>>606の言う通り、あっちこっちにまたがって値を編集しちゃダメですね。
smarty構文はデザインとか見た目(まさにテンプレート)を自動生成するためだけに使わなきゃなぁと
ようやく結論づきました。
0608nobodyさん2009/08/10(月) 20:32:12ID:???
>>607
if(!isset($ary['faxNum'])) ($ary['faxNum'] = "-";

って書いて、$ary変数だけassignすればいいんじゃない?


その程度の表示分岐処理なら、テンプレート側でもOKかと思う。

{$ary.faxNum|default:"-"}

でいけない?
0609nobodyさん2009/08/10(月) 20:50:18ID:???
値未入力であることを示すのに、何を表示するのかはview側の仕様だわな。

ひょっとしたら先々仕様変更で「入ってまへんで、へよへよ」と表示するようになるかもしれん。
そのとき内部データにそんな値(内容)入れたくないだろ?
608の後半みたいにテンプレ側でやった方がいいよ。
0610nobodyさん2009/08/10(月) 22:51:30ID:???
>>608-609
うーん、そうか。
ケースバイケースでどうやるべきかじっくり考えてやってみるね
ありがとう
0611nobodyさん2009/08/10(月) 23:13:31ID:???
度々申し訳ない
{if}--{/if}の中で、smarty変数を生成できないの? assignと同じことをしたいんだけど
{if $var eq "hoge"}
$newVar = "hogeでした";
{/if}
みたいな…
0612nobodyさん2009/08/10(月) 23:15:44ID:???
assignでなんでだめなの?
0613nobodyさん2009/08/10(月) 23:42:39ID:???
>>612
assignはphp側の処理ですよね、テンプレ側で値を割り当てたいので。。
0614nobodyさん2009/08/11(火) 01:09:27ID:???
{assign} タグ使えば?
0615nobodyさん2009/08/11(火) 03:32:24ID:???
>>614
ありがとう! こんなのがあったのか。助かりました!
0616nobodyさん2009/08/11(火) 03:33:31ID:???
assignassign言うから当然テンプレート側のこと言ってると思ったら
assignタグすら知らんかったのか。
0617nobodyさん2009/08/11(火) 12:14:27ID:???
だからphpタグなんぞで処理したかったのか・・・。
0618nobodyさん2009/08/12(水) 05:56:44ID:???
$hogeAry = Array (
[0] => Array ( [id] => 7 [uId] => 10237 [uType] => hoge [photo_text] => 写真の説明1 [photoName] => galleryPic7 [photo_on] => 1 )
[1] => Array ( [id] => 9 [uId] => 10237 [uType] => hoge [photo_text] => 写真の説明2 [photoName] => galleryPic9 [photo_on] => 1 )
[2] => Array ( [id] => 10 [uId] => 10237 [uType] => hoge [photo_text] => 写真の説明4 [photoName] => galleryPic10 [photo_on] => 1 )
)

という配列があります。
これのphotoNameを引き出したくて以下のものを実行してますがうまくいきません。何が原因でしょうか?
{foreach from=$hogeAry item=varAry}
名前は:{$varAry.photoName}<br />
{/foreach}

{$hogeAry.0.photoName} なら、ちゃんとgalleryPic7が出力されます
0619nobodyさん2009/08/12(水) 06:23:13ID:???
varAryの中を見てみたら?
0620nobodyさん2009/08/12(水) 08:01:33ID:???
ループは回ってる?「名前は:」って文字は出力されてる?

{foreach from=$hogeAry item=varAry}
{foreach from=$varAry item=item key=key}
{$key}={$item}<br>
{/foreach}
{/foreach}

で中身表示テストしてみ。
0621nobodyさん2009/08/12(水) 10:23:00ID:u9+iooGY
>>620
0=z
0=z
0=z
とだけ出力して終わってます。。ループ自体はしてるってことですよね?
なんでだろ? 配列じゃないのかな。
上で書いた配列は、以下の実行結果です。(zendFWを使った、クエリの結果)

function gallery($uType,$uId){
$table = $this->_config->table->gallery;
$stt = $this->_db->fetchAll("SELECT * FROM {$table} WHERE `uType`=? AND `uId`=? AND `photo_on`=1 ORDER BY `id` LIMIT 10", array($uType,$uId));
return $stt;
}

$this->view->hogeAry = $this->_db->gallery('spot',$uId);
0622nobodyさん2009/08/12(水) 10:32:56ID:???
>>621
Smarty側に正常にassign出来てない可能性大。

1. hogeAryが正常な配列か確認。
var_dump($this->view->hogeAry);

2. hogeAryがSmartyにassignされてるか確認。
0623nobodyさん2009/08/12(水) 11:18:13ID:u9+iooGY
>>622
var_dump($this->view->hogeAry); の結果は
$hogeAry = Array (
[0] => Array ( [id] => 7 [uId] => 10237 [uType] => hoge [photo_text] => 写真の説明1 [photoName] => galleryPic7 [photo_on] => 1 )
[1] => Array ( [id] => 9 [uId] => 10237 [uType] => hoge [photo_text] => 写真の説明2 [photoName] => galleryPic9 [photo_on] => 1 )
[2] => Array ( [id] => 10 [uId] => 10237 [uType] => hoge [photo_text] => 写真の説明4 [photoName] => galleryPic10 [photo_on] => 1 )
)

.tplでの
{$hogeAry|@var_dump} の結果は
Array ( [0] => [1] => [2] => ) 1

{$hogeAry.0.photoName} の結果は
galleryPic7

ちゃんとテンプレートまでassignされてきてるってことですよね?
foreachだけがうまくいかないってことかなー
0624nobodyさん2009/08/12(水) 11:41:14ID:???
619はシカトですかそうですか
0625nobodyさん2009/08/12(水) 12:16:00ID:u9+iooGY
>>624
すみません、varAryの中身のチェックの方法がわからなかったもので。。

{foreach item=varAry from=$hogeAry}
{$varAry|@var_dump}<br />
{/foreach}
とりあえず思いつく限りで上記をやったら
string(0) ""
string(0) ""
string(0) ""
が返ってきます

{foreach item=varAry from=$hogeAry}
{$varAry.photoName}<br />
{/foreach}
だと何も返ってきません(改行3つだけです)

ほんとに済みませんでした
0626nobodyさん2009/08/12(水) 12:34:49ID:???
原因切り分けてみたら?
本当にDBから値は取れてるのか、違う関数コールしてないか、
ただの配列なら表示できるのか、などなど。
可能だったら再現するコードも貼って。
0627nobodyさん2009/08/12(水) 13:54:35ID:???
{debug} タグでassignされてる変数確認してみ。
0628nobodyさん2009/08/12(水) 17:19:17ID:u9+iooGY
>>626-627
どうもありがとうございます
普通の配列なら大丈夫です。同じDBから同様の手続きで取得してるクエリ結果(通常の配列)があるんですが、
それはforeachで解析できています。
{debug}はdisplay形式じゃないとダメみたいで、僕のやり方がそうじゃないので動きませんでした。

それで、今ループ処理をsection形式で試してみたんですが、section なら二次元配列の処理大丈夫でした。(以下が動きました。)
{section name=varAry loop=$hogeAry}
{$smarty.section.counter.total}<br> (このカウンターは動きませんでした)
要素: {$hogeAry[varAry].id}<br>
要素: {$hogeAry[varAry].photoName}<br>
要素: {$hogeAry[varAry].photo_text}<br>
{/section}
とりあえず、お騒がせして申し訳なかったですが、foreachは諦めてこっちで極力対応したいです。
0629nobodyさん2009/08/13(木) 16:40:28ID:???
結局原因は何なの?
0630nobodyさん2009/08/21(金) 13:05:34ID:WhelcFIU
質問させてください。
テンプレート中の {$hoge}って変数に対してphpのクラス中のメソッドを実行するって可能でしょうか?
これまでは、php中で
$hoge=$instance->method($hoge1,引数1,引数2);
として、適切な値を返してたんですが、同じ事をテンプレートの中でやりたいと思います。
{$hogetext|nl2br}などでphp関数を実行できるのは知ってるんですが、調べたところメソッドの実行は
見つけられませんでした。無理なんでしょうか?
assign 前に実行すべき?
0631nobodyさん2009/08/21(金) 14:42:48ID:???
修飾子プラグインの中でメソッド呼べばよいのでは
0632nobodyさん2009/08/21(金) 18:37:07ID:???
>>631
どうもありがとうございます
修飾子プラグイン、知りませんでした! 勉強になります、ありがとう
0633nobodyさん2009/08/21(金) 22:16:33ID:???
プラグインの中で他のプラグインの機能を呼び出すことってできますか?
0634nobodyさん2009/08/21(金) 22:16:56ID:???
できるよ
0635nobodyさん2009/08/22(土) 00:43:33ID:qs0RE9DR
修飾子プラグインの勉強始めたんですが、引数を2つもたせる方法がわかりません。
{$num}というsmarty変数に対して、

function smarty_modifier_NUMtoTEXT($num,$aryName){
 return $allAry[$aryName][$num];
}
というプラグインを実行したいんですがどう書いたら良いんでしょうか?
{NUMtoTEXT:$num:"boyAry"}とかやってみたんですがうまくいきません。
0636nobodyさん2009/08/22(土) 00:59:28ID:???
>>635
http://www.smarty.net/manual/ja/language.modifiers.php
0637nobodyさん2009/08/22(土) 05:08:49ID:???
>>634
kwsk
0638nobodyさん2009/08/22(土) 12:26:11ID:???
>>637
ggrks
0639nobodyさん2009/08/22(土) 23:19:02ID:???
>>636
返事遅れました。うまくいきました、ありがとう
0640nobodyさん2009/08/25(火) 00:15:56ID:???
foreach だの sectionだのって、なんで素直にfor文用意してくれないんだろね
php用テンプレートなのにわざわざ特殊な書式だし、頭に入らなくてしょっちゅうマニュアル見てる
頭悪くて悲しいな
0641nobodyさん2009/08/25(火) 06:09:04ID:???
>>640
Smarty3で追加される
0642nobodyさん2009/08/25(火) 13:55:26ID:???
>>641
ほんとに? 情報ありがとう、気分が楽になったよw
そういう情報を仕入れる前向きさがないとイカンなぁ
0643nobodyさん2009/08/26(水) 12:19:29ID:???
キャッシュしてできたファイルの中にSmartyタグって入れられないよね?

検索フォームがあったとして
<input name="keyword" type="text" value="{$smarty.post.keyword}">

として検索後にデフォルト値を入れてるんだけど、
キャッシュしたらこういう事が出来ないと思って。
0644nobodyさん2009/08/26(水) 13:37:23ID:???
>>643
insertタグで出来るんじゃね?

あと検索結果画面だと思うけど、それってキャッシュするべきじゃなくね?w
するにしてもSmarty側でするもんじゃないと思う。
0645nobodyさん2009/08/26(水) 14:37:50ID:???
そのキーワード毎にキャッシュしたいのならば、それをキャッシュIDにすれば。
0646nobodyさん2009/08/26(水) 23:01:41ID:???
>>644-645
ページのサイドバーをキャッシュしているんだが、
その箇所に検索フォームやログインフォームが入っているんだよ。
確かにキャッシュするべきじゃないが、
部分毎にわかるとキャッシュする意味がないかな?とも思ったり。

やっぱり、設計に問題あるかも・・。
0647nobodyさん2009/08/28(金) 14:54:05ID:45fY5t7E
サイドバーの質問が出てるので聞きます
dbの返り値次第でサイドバーのデザインが数パターンに変わる場合、smartyのif文で書き分けするしかないのかな?
正直{if}に限らず醜いんで多用したくないんですよね…

部分的にデザインパターンを読み込むなど、他の解決方法はないですか?
0648nobodyさん2009/08/28(金) 15:03:05ID:???
コントローラ側で制御すれば?
0649nobodyさん2009/08/28(金) 15:25:18ID:???
テンプレートを数パターン用意すれば?
0650nobodyさん2009/08/28(金) 16:29:28ID:45fY5t7E
>>648−648
そうですね、それがいいですね
ありがとうございました
0651nobodyさん2009/08/28(金) 16:30:15ID:45fY5t7E
>>648-649でした
ありがとう
0652nobodyさん2009/08/28(金) 17:53:20ID:MIAE9vSw
Smartyテンプレif文条件式で、自作のSmartyプラグイン関数を
呼び出すことはできないのでしょうか?

0653nobodyさん2009/08/28(金) 19:07:18ID:???
できるんじゃね?
0654nobodyさん2009/09/02(水) 05:34:35ID:55UeyG/q
{assign}の中で、修飾子プラグインをvalueにもたせることできますか?

{assign var=uType value=$resultAry.uType|NumToText} みたいなことをしたいんですが
試してみてもタグがモロ出しになって修飾子が実行されてないようです。
仕様でしょうか?
書き方が変だとしたら、対処法を教えてください。よろしくお願いします。
0655nobodyさん2009/09/02(水) 09:19:59ID:???
タグがモロ出し の意味がわからない。
0656nobodyさん2009/09/02(水) 09:35:13ID:???
>>654
capture
0657nobodyさん2009/09/03(木) 08:24:48ID:???
>>655,656
ありがとうございました
0658nobodyさん2009/09/06(日) 21:25:22ID:???
負荷テストで調べたんだが、キャッシュって結構効いてるな
1000アクセスある場合を想定してテストしたんだが、
約10〜15%ほどページの読み込みが早かった
0659nobodyさん2009/09/07(月) 08:07:01ID:???
なにをいまさら・・
0660nobodyさん2009/09/07(月) 22:10:32ID:???
>>659
まあ、実感するのはなかなか難しいからな。
0661nobodyさん2009/09/07(月) 23:17:57ID:K7GASBY+
二次元配列を出力しようとすると、
Warning: htmlspecialchars() expects parameter 1 to be string, array given in パス modifier.escape.php on line 26
というエラーが出ます。
調べたところ、色々なサイトで同じ問題を扱ってるのを見つけました。
http://questionbox.jp.msn.com/qa4209668.html
http://pcmemorogu.blog14.fc2.com/blog-entry-20.html など

が、これらでの答えの通り、FOREACHする配列全てに $ary|smarty:nodefaults としてみたんですが
まだ完全に上記のエラーが消えません。
他にどんな可能性があるでしょうか?
配列だけでなく、通常のassignされた変数に対しても文字列でなければセットすべきなのでしょうか?
とりあえずやっていますが、変化がありません
0662nobodyさん2009/09/07(月) 23:25:11ID:???
アウトプットフィルタにhtmlspecialcharsが指定されてるんじゃないの?

つか二次元配列を出力しなければならない例が思いつかないけど
0663nobodyさん2009/09/07(月) 23:49:42ID:K7GASBY+
>>662
ありがとうございます
すいません、お礼書きつつ修正重ねてたら上手くいきました
foreachやsectionの中の配列だけでなく、ifの条件節部分でも配列に対しては|smarty:nodefaultsする必要があったようです。

if($testAry|count >0) を
if($testAry||smarty:nodefaults|count >0) にしたら治りました

お騒がせしました。ありがとうございました
0664nobodyさん2009/09/08(火) 00:19:32ID:???
modifier.escape.phpを修正する方が早いよ
0665nobodyさん2009/09/08(火) 00:25:48ID:qSoCHGpf
>>664さんはそうしてますか?
どう修正したらいいのやら、、と、調べたらありました。

http://blog.asial.co.jp/309
-----
# function smarty_modifier_escape($string, $esc_type = 'html', $char_set = 'ISO-8859-1')
# {
# // 配列が渡ってきたら何もせずにreturn
# if (is_array($string)) return $string;
# switch ($esc_type) {
# case 'html':

たしかにこれでよさそう。
664さんが別の方法で対応してるなら教えてもらえると嬉しいです。比べつつ勉強したいので。
自分で弄る自信はまだないんですよね、知らないところで悪影響でそうで…
0666nobodyさん2009/09/08(火) 00:43:09ID:???
>>665
if (is_array($string)) return $string; 
で運用してるけど特に問題は無いよ。
配列が来た場合は、全ての要素を再帰的に処理するとかも試したけど、何か不都合があって止めた記憶・・・。

plugins_fix ディレクトリを作り、modifier.escape.php をコピーして修正を施す。
$smarty->plugins_dirの先頭にplugins_fixディレクトリを追加する。
って方法で修正を当てている。
default_modifiers使うと{debug}にも影響が出るから、同様に修正を当てたファイルをplugins_fixディレクトリに置いてる。
0667nobodyさん2009/09/08(火) 00:47:00ID:qSoCHGpf
>>666
詳しい説明ほんとにありがとうございました
debugってまだやったことないのでそっちはわからないですが、参考にさせてもらいます
ありがとうございました。
0668nobodyさん2009/09/20(日) 18:33:32ID:???
だれか公式以外でsmartyダウンロードできるところ知らない?
クソ公式落ちまくっててDLできないんだけど
http://www.smarty.net/
だれかソースくらいは分散しとけって忠告してやれよ
0669nobodyさん2009/09/20(日) 18:55:26ID:???
落とせるじゃん
0670nobodyさん2009/09/20(日) 19:52:57ID:???
復旧した
0671nobodyさん2009/09/24(木) 18:00:24ID:???
初心者なのであまり良く分からないのですが、テンプレートエンジンはSmarty以外に別のテンプレートも同時使用出来るのでしょうか?
JavaScriptのライブラリのように互いに干渉してしまったりするのでしょうか?

また、調べてみると、何かテンプレートを扱う為にはPHPを学んでいても1〜数週間は馴れるまでかかると書いてありました
ですのでまず最初に一つテンプレートを使用してみようと思っているのですが、やはりSmartyが一番良いのでしょうか?
0672nobodyさん2009/09/24(木) 18:07:40ID:???
まずテンプレート抜きでPHPを身に付けたほうがいいかと
0673nobodyさん2009/09/25(金) 14:31:20ID:???
SmartyってPHP習得した後にやろうとするとハッキリ言って困惑するよな
何だコレ?って感じ
今までPHP学習してきたのってあんま意味無いじゃんって思ったよ
例えばforeachとかさ
HTML?っても最初思った

0674nobodyさん2009/09/25(金) 14:34:03ID:???
PHP習得した後にやらないでいつやるんだよ
0675nobodyさん2009/09/25(金) 15:24:47ID:???
誰もが通る道さ・・・
それを不毛と感じるか、テンプレートエンジンの利点に気がつけるかでPGとしての資質がわかる。
0676nobodyさん2009/09/25(金) 15:39:52ID:???
いや普通につくればphpのforeachもsmartyのforeachも必要だろ。
0677nobodyさん2009/09/25(金) 21:46:51ID:???
そういう事言ってるんじゃないだろ。
0678nobodyさん2009/09/25(金) 21:47:21ID:???
じゃどういうことよ
0679nobodyさん2009/09/25(金) 22:57:18ID:???
同じforeachでも書き方が違って、最初戸惑うってことだろ?
0680nobodyさん2009/09/25(金) 22:59:20ID:???
えっ
0681nobodyさん2009/09/25(金) 23:47:30ID:???
ちゅう
■ このスレッドは過去ログ倉庫に格納されています