Array()で配列の一次元部分と二次元部分に同時に値を代入するには
class categoryInfo{
var $langName = array(
"app" => array(
"c" => "C&C++",
"java" => "Java",
"vb" => "Visual Basic.NET",(以下略)
),
"markup" =>array(
"html" => "HTML",
"css" => "CSS"
),
"web_app" => array(
"javascript" =>"JavaScript",
"php"=>"PHP",
"perl"=>"CGI/Perl"
),
);
$langName[app] = "アプリケーション開発用言語";
$langName[markup] = "マークアップ言語";
$langName[web_app] = "Webアプリ";
}
・・・という風にしているのですが、当然ながら、最後の
$langName[app] = "アプリケーション開発用言語";
などは、既に宣言した変数に値を代入する行為であるため、関数内で行うように、とのエラーメッセージが出力されてしまいます。
コンストラクタで宣言すれば良い話ではあるのですが、600行ほどあるファイルなので、別の場所で宣言すると面倒になってしまいます。
又、後々foreachを使うので、連想配列を用いている以上、Array()を使って順番を定義したいのです。
このArray()の中で、$langName['app']などの一次元部分に値を代入した上、$langName['app']['c']などの二次元の部分にも値を代入する方法はありますでしょうか?