[PHP-users 22952]Re: PHP5でlist()を使って配列に代入するときのエラー
Jun Kuwamura
juk @ rccm.co.jp
2004年 8月 7日 (土) 18:29:28 JST
くわむらです
MMCACHE ってのが気になりますネ。キャッシュを使っている
ためですかね。手もとの CLI版で試してみたところ問題ない
ようです。
On Sat, 7 Aug 2004 nishimura @ n314.com wrote:
> PHPを4から5に変更したのですが、以前使っていたスクリプトが動かなくなってしまいました。
> 原因を調べた結果、
>
> <?php
> $info = array('coffee', 'brown', 'caffeine');
> list($a[0], $a[1], $a[2]) = $info;
> var_dump($a);
> exit;
> ?>
>
> マニュアルの例題にも載っているこのコードが動かないようです。
> エラーも表示されずに接続が切られてしまいました。
> エラーログには
>
> [Sat Aug 7 16:43:07 2004] [notice] child pid 32231 exit signal Segmentation fault (11)
> [32245] MMCACHE: PHP crashed on opline 6 of main() at /opt/share/public_html/test.php:3
>
> と出ています。
>
> <?php
> $info = array('coffee2', 'brown2', 'caffeine2');
> list($a1, $a2, $a3) = $info;
> $a = array($a1, $a2, $a3);
> var_dump($a);
> exit;
> ?>
>
> こうすれば普通に表示されます。
> 環境はDebian3.0 + apache1.3.26 + php5.0-rc3 (http://www.dotdeb.org/) です。
こちらの環境は、Plamo-4.0 で、
Apache/2.0.50 (Unix) mod_ssl/2.0.50 OpenSSL/0.9.7d DAV/2 PHP/5.0.0
です。
% php
<?php
$info = array('coffee', 'brown', 'caffeine');
list($a[0], $a[1], $a[2]) = $info;
var_dump($a);
exit;
?>
^D
で、以下のように正常に出力されます。
array(3) {
[2]=>
string(8) "caffeine"
[1]=>
string(5) "brown"
[0]=>
string(6) "coffee"
}
--
Jun Kuwamura
rC Cm
^
~
PHP-users メーリングリストの案内