[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 メーリングリストの案内