
どなたか、熟練のプログラマーさんorSEさん、
お知恵の拝借をお願い致します。
現在、CakePHPで開発をしているわけですが、
emptyに 0 や '0' を判定させた際、
falseを返してしまうのに非常に困っています。
現在やろうとしている判定が下記のとおりです。
・nullが来たとき、変数の宣言が無い時など値が無ければエラー処理
・数字や文字列が来た時は通常処理
・数字の0や文字列の0が来た時も通常処理
なのですが、なかなか良い判定文が書けないのです。
emptyで判定すると0が処理から抜けてしまい、
抜けた0を拾うために
else if( $変数名 === '0' || $変数名 === 0)などとすると
$変数名の宣言が無い場合にワーニングが出てしまいます。
原則として、エラーを吸収する @ はPMの指示で使用が禁止されているため使えません。
なにか上手い処理の指定の仕方があれば教えてください。
一番ベストは、emptyの処理をオーバーライドして
0 or '0' 判定時にtrueを返すことなのですが、
オーバーライドのやり方が分からないのでそれも現状では出来ません。
ネットで色々読み漁りましたが、解決方法が見つかりませんでした。
どなたか、良い解決方法がありましたらご教授願います。
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
CakePHPのemptyというのがよくわかりませんが、
自前のチェックメソッドを作成してるということですか。
また、CakePHPは1.2でいいんでしょうか。
>emptyで判定すると0が処理から抜けてしまい、
>抜けた0を拾うために
>else if( $変数名 === '0' || $変数名 === 0)などとすると
>$変数名の宣言が無い場合にワーニングが出てしまいます。
とりあえず変数が宣言されているか否か、に関しては、issetというものがあります。
<?php
if(isset($hoge)){
echo "hogeは宣言されてます";
}else{
echo "hogeは宣言されてません";
}
?>
これで$hogeが宣言されていない場合、”hogeは宣言されていません”
と表示されます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PHPのif文でその処理を途中で抜...
-
phpの処理中に画面表示ををする...
-
PHPが処理を途中でやめる。原因...
-
Smartyにて、文字検索
-
条件分岐 if(elseif) switchの...
-
デバッグの仕方・・・
-
大量チェックボックスの実装方...
-
Cronで同じ処理を複数同時に実...
-
タイムアウト処理?となる
-
インスタンス化に伴うメモリ消...
-
会社の課題で共通処理(phpとht...
-
APIで出てきたXMLをPHPで表示さ...
-
PHPで偶数と奇数を判断するには
-
PHPのSmartyについて質問です。...
-
PHPの%演算子は処理の前に計算...
-
CakePHPでのemptyの 0 判定に関...
-
デフォルト、フロントコントロ...
-
iframe内phpから全体の画面を出...
-
ページの一部だけリロード
-
フォームが送信されたかの確認...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
PHPのif文でその処理を途中で抜...
-
phpの処理中に画面表示ををする...
-
携帯電話用Webページの自動更新...
-
PHPが処理を途中でやめる。原因...
-
PHP内、ボタン押下と同時にリロ...
-
1つのPHPファイルに何度も同じ...
-
変数の範囲によって場合わけし...
-
phpからjavascriptの関数呼び出し
-
PHPのコード内でjavascriptを使...
-
Cronで同じ処理を複数同時に実...
-
VBAからPHPを実行(キック)したい
-
Smartyにて、文字検索
-
c言語 fopen
-
PHPで文字列の検索
-
質問させてください。
-
アドレスに[?****]と入れると、...
-
PHPでCGIの処理結果を使うには?
-
PHPの変わった閉じタグの必要性...
-
ブラウザから非同期プログラム...
-
SJISでPHP5+POSTGRESQL8
おすすめ情報