Perl / PHP 檢測變數有否定義方式

最近也開始回來 Coding Perl / PHP.. 所以對於未定義變數的警告訊息也進一步瞭解解決方式,這樣也是避免未來 debug 時花一大堆時間抓出一隻很可笑的 bug.

  • 使用 defined() 這個內建的 function 來判別
  • 以下範例就是針對命令列要指定路定參數,如果沒有指定就將 $argv_path 設為空字串
    $argv_path = (!defined($ARGV[0]))?"":$ARGV[0];
  • 如果一個已經有定義的變數要變成沒定義過, 可以使用 undef 指令來取消定義
    undef($argv_path);
  • 使用 isset() 這個 function 來判別
  • 以下範例就是針對參數 $p_op 來檢測是否有定義,如果沒有定義就將 $p_op 設為空字串
    $p_op = (!isset($p_op))?"":$p_op;
  • tech/check_null.txt
  • 上一次變更: 2009/09/16 00:46
  • jonathan