Hatena::ブログ(Diary)

bushimichiの日記 RSSフィード

この日記のはてなブックマーク数

2010-12-10

Web製作でよく使うPHP変数の値有無判定関数

| 19:52 | Web製作でよく使うPHP変数の値有無判定関数を含むブックマーク

/**
 *
 * @param mixed $v 
 * @return boolean 
 *
 **/
 function v($v){
   if(is_bool($v)){
     return $v;
   }elseif(is_numeric($v)){ // all numeric (0 and '0') are true.
     return true;
   }elseif(is_string($v)){
     return !empty($v);
   }elseif(is_array($v)){
     $v = array_filter($v,"v");
     return !empty($v);
   }elseif(is_object($v)){
     return v(get_object_vars($v));
   }else{
     return !empty($v);
   }
 }

実際にHTMLに出力するときは 0を値とみなすことのほうが多いと思いますので

0もTRUE扱いにしています。

PHPのStringのゼロに注意

| 19:18 | PHPのStringのゼロに注意を含むブックマーク


$a = 0;
if(empty($a)){
  echo 'TRUE';
}else{
  echo 'FALSE';
}

これが、TRUEになることは容易にわかるのですが

$a='0';
if(empty($a)){
  echo 'TRUE';
}else{
  echo 'FALSE';
}

これも、TRUEになるとは盲点でした。恐るべしPHP

PINGが通らないときにまず疑うことは、iptablesの設定

| 00:37 | PINGが通らないときにまず疑うことは、iptablesの設定を含むブックマーク

ネットワークの設定もひと通りすませて

いざPINGを飛ばしてレスポンスを確認したときに

まったく応答がなく四苦八苦したときは、

接続先のiptablesを確認してみることをおすすめします。

無用な接続を弾くためにiptablesをしっかり設定したつもりが

接続許可する予定のクライアントまで遮断していたなんてことはないですか?

とりあえず、PINGが通らないときは、/etc/init.d/iptables stop してみましょう。

それでも通らないときはどこかネットワークが切れてると思います。

LANケーブルかHUBルーターが故障ってのが次の確認箇所。

ネットワークがつながらないときは無限あり地獄のような

出口の見えない焦燥感に苛まれますので、誰かのお役に立てば幸いです。