【PHP】ID出さなくて ..
[
2ch
|
▼Menu
]
■コピペモード
□
スレを通常表示
□
オプションモード
□このスレッドのURL
■項目テキスト
614:nobodyさん 09/07/02 11:12:33 foo($array, 'a') なら $array['a'] を返し foo($array, 'a', 'b') なら $array['a']['b'] を返すには function foo() { // ??? } をどうしたらいいでしょうか。 func_num_args() を使って再帰で、 なんて思ったのだけど、考えがまとまらなくて。 615:nobodyさん 09/07/02 14:46:54 なんのためにそんな関数を $var = foo($array, 'a'); なら $var = $array['a']; でいいじゃん 616:nobodyさん 09/07/02 15:38:49 foo($array, $bar, $baz) と書くんだったら $array[$bar][$baz] でいいよね。 foo($array, array('a', 'b')) を $array['a']['b'] にするんだったら foo($array, $arr_keys) みたいに渡したいのかなとも思うんだけど。 617:614 09/07/02 15:41:46 >>615-616 E_ALL 環境で isset() が面倒なんので、 foo 内で isset して値を返したり、 値があるか判定するのを作ろうと思って。 618:nobodyさん 09/07/02 16:47:20 >>617 foo:セットされてないときfalse,セットされているときはその配列の内容が返る $arr["a"]["b"]["c"] = "hoge-c"; $arr["a"]["b"]["d"] = "hoge-d"; $arr["a"]["b"]["e"] = "hoge-e"; var_dump(foo($arr,"a", "b")); // result array var_dump(foo($arr,"a", "b","c")); // resurt string var_dump(foo($arr,"a", "c")); // resutl false var_dump(foo($arr,"b")); // result false function foo() { $cnt = func_num_args(); $var = func_get_args(); $arr = $var[0]; for ($i=1; $i<$cnt; $i++) { if (!isset($arr[$var[$i]])) return false; $arr = $arr[$var[$i]]; } return $arr; }
次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
レスジャンプ
mixiチェック!
Twitterに投稿
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch
5383日前に更新/191 KB
担当:undef