【PHP】下らねぇ質問 ..
[
2ch
|
▼Menu
]
■コピペモード
□
スレを通常表示
□
オプションモード
□このスレッドのURL
■項目テキスト
858:nobodyさん 09/04/03 19:44:58 2mI6CRy6 【OS名】debian linux 【PHPのバージョン】5.2.0 参照渡しで変数を送り 変数が未定義なら空の文字列を返し 変数が定義済みならそのまま返す関数を考えました。 $test = hoge_variable($v); function hoge_variable(&$v) { if(! isset($v) ) { return ''; } return $v; } テストに入る内容は望みのものですが、 変数$vが未定義だった場合、定義されて(?)NULLが入るようです。 この挙動について、どういった理由でそうなるのか、 また$vを未定義のままにする方法はあるのかご教示いただけませんでしょうか。 859:nobodyさん 09/04/03 20:02:31 >>858 &$vのとき、参照を張るには、参照される側のアドレスが必要だから、そこで定義される。値はNULL &$vにしなければよい。 860:nobodyさん 09/04/03 20:14:47 return ''; を return $v=''; でよくね? 定義されてないからNULLだぜ? 861:nobodyさん 09/04/03 20:15:15 2mI6CRy6 >>859 やはりそんな感じだったんですね。 関数はエラーレベルによっては出るNotice: Undefined variable の対策だったんですけど、&$vでなく$vにするとそこでUndefined variable がでてしまう感じで…。 定義されたくない時は直接issetをしていくしかないということですかね。 というかそもそもUndefined variable回避に対するアプローチが違っているでしょうか…?
次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
レスジャンプ
mixiチェック!
Twitterに投稿
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch
4740日前に更新/244 KB
担当:undef