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