[PHP-users 24918] Re: 配列要素に対しての参照を作成した場合の動作について

神 谷 djr_kamiya @ hotmail.com
2005年 3月 16日 (水) 12:34:38 JST


神谷です

少々気になったので、口出しするような事ではないのですが一言

>幸い、配列の深さは決まっているので、コードは見にくくなりますが、参照を使
>用せず配列の構造ベタ書きで対応することにしました。
この配列の構造、見せていただく限りだと、多次元配列にする必要が無いの
では?
たとえばLevel4のカウント、もしかして同じ値を各階層の配列に書いていらっ
しゃるのではないでしょうか?

普通の連想配列&次の階層の情報を持っている部分を「可変変数」で処
理すると幸せになれるかも。

可変変数
 変数名自体を変数で処理する方法

<?
$arr1	= array('abc','ABC','aBc','arr2');
$$arr1[3]	= array('123','456','789',''); // $arr1の4つ目の要素を変数名とし
て配列を宣言

print_r($arr1); // $arr1を表示
print_r($arr2); // 可変変数で宣言した変数名を直接使用して$arr2を表示
print_r($$arr1[3]); // 可変変数を使用して$arr2を表示
?>

実行すると、2つ目のprint_rと3つ目のprint_rの結果は同じになります。
次の配列を指す要素をそのまま変数名とすればいいのです。

この方法が、緋田様のやりたい事にマッチしているか解りませんが、配列
構造を見る限り、私なら可変変数を使うかな?
こうすれば、同じ値を何箇所に持つ必要も無く、多次元配列にもならず解
りやすい気がします。
(可変変数が馴染まない人は使うと理解不能になります)

_________________________________________________________________
MSN Hotmailで開運メルアド占い実施中 
http://promotion.msn.co.jp/hotmail/fortune/input_un.asp 



PHP-users メーリングリストの案内