[PHP-users 551] extract()について

堂脇 隆浩 php-users@php.gr.jp
Thu, 05 Jul 2001 08:57:02 +0900


堂脇隆浩です。

extract()についてお伺いしたいのですが、
連相配列のキーに日本語を使うと、extract後、
日本語名の変数に値が入りません。

具体的には

<?php

//配列の値の設定
$test_array[名前] = "堂脇";
$test_array[国籍] = "日本";
$test_array[年齢] = "25";

//extract前の各値の表示
echo "名前1:".$test_array[名前]."<BR>\n";
echo "国籍1:".$test_array[国籍]."<BR>\n";
echo "年齢1:".$test_array[年齢]."<BR>\n";

extract($test_array);

//extract後の各値の表示
echo "名前2:".$名前."<BR>\n";
echo "国籍2:".$国籍."<BR>\n";
echo "年齢2:".$年齢."<BR>\n";
 
?>

と言うソースを実行すると、
名前1:堂脇
国籍1:日本
住所1:25
名前2:
国籍2:
住所2:

と表示され、上手く行きません。
また、
<?
$日本語名 = "日本語の値";
echo "値:".$日本語名;
?>

を実行すると
値:日本語の値

と、日本語の変数名を使っても、上手く表示されます。

キー(extract後の変数名)に、日本語を用いた場合の、extractの使用方法をご存
知の方がいらっしゃいましたら、教えて頂けませんでしょうか。

php4.0.6+apache1.3.20、で、ソースの文字コードはEUCです。

<<<<<<<<<
堂脇 隆浩