• ベストアンサー

文法の質問です

$p=1; $lastdiff[$p][name]="taro"; $lastdiff[$p][pass]="yama"; $lastdiff[$p][diff]="1000"; $str="$lastdiff[$p][name],$lastdiff[$p][pass],$lastdiff[$p][diff]\n"; echo "\$str=$str<br>"; の実効結果を $str=taro,yama,1000 としたいのですが $str=Array[name],Array[pass],Array[diff] このような結果になってしまします. よろしくお願いしますm(_ _)m PHP Version 4.2.2

質問者が選んだベストアンサー

  • ベストアンサー
  • 6ma6
  • ベストアンサー率53% (7/13)
回答No.1

$str=taro,yama,1000 としたいだけでしたら、 $p=1; $lastdiff[$p][name]="taro"; $lastdiff[$p][pass]="yama"; $lastdiff[$p][diff]="1000"; $str=$lastdiff[$p][name].",".$lastdiff[$p][pass].",".$lastdiff[$p][diff]."\n"; echo "\$str=$str<br>"; でどうでしょうか?

kingpulsar
質問者

お礼

どうもありがとうございました^^ だいぶ勉強になりました

その他の回答 (2)

  • kusukusu
  • ベストアンサー率38% (141/363)
回答No.3

もう正解が出ていますので理論だけ… ダブルクォートで括ると、その中の変数の展開は一回しか行いません。 だから今回のような結果になったのです。 度々こう言うことを行うのであれば、リファ参照にするのも一つの手です。 # コード的にはかなり無駄になりますが。。。(^^;

kingpulsar
質問者

お礼

どうもありがとうございました^^ リファ参照ですね、勉強してきます

  • mirurin
  • ベストアンサー率43% (48/111)
回答No.2

$str="$lastdiff[$p][name],$lastdiff[$p][pass],$lastdiff[$p][diff]\n"; を、 $str="{$lastdiff[$p][name]},{$lastdiff[$p][pass]},{$lastdiff[$p][diff]}\n"; か $str=$lastdiff[$p][name].",".$lastdiff[$p][pass].",".$lastdiff[$p][diff]."\n"; に修正してください。

kingpulsar
質問者

お礼

どうもありがとうございました^^ すばやいご回答ありがとうございました

関連するQ&A