[PHP-users 3740] Re: 配列変数から変数に取込んだ場合のちがいについて。

Shinichi Yamanaka php-users@php.gr.jp
Wed, 21 Nov 2001 12:13:11 +0900


山中です。

中村さん有難うございます。

> これは、取出したデータの最後に改行が付いているのが原因と思われます。
> aaaa:bbb:ccc\nを読み込んだとして、
> explodeだけの場合、$variable[3]のデータは、ccc\nになります。
> evalを使用した場合、'$ftp_user_pass='.$variable[3].';'が$ftp_user_pass=ccc\n;と
> 解釈されcccだけが代入されます。

仰る通り、末尾の改行が悪さしてました。
$variable=explode(':',$settei[0]);を
$variable=explode(':',trim($settei[0]));として、問題なく動作することも
確認できました。

$ftp_user_pass=$variable[3];
これだと実際は
$ftp_user_pass="ccc\n";
となってしまうが、
eval('$ftp_user_pass='.$variable[3].';');
これだと
$ftp_user_pass="ccc"
;
となる。
この様な解釈になるのかな?

*******************
 Shinichi Yamanaka
yamashin@yabumi.com
*******************