2010-12-10
Web製作でよく使うPHP変数の値有無判定関数
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のゼロに注意
PHP | |
$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の設定
ネットワークの設定もひと通りすませて
いざPINGを飛ばしてレスポンスを確認したときに
まったく応答がなく四苦八苦したときは、
接続先のiptablesを確認してみることをおすすめします。
無用な接続を弾くためにiptablesをしっかり設定したつもりが
接続許可する予定のクライアントまで遮断していたなんてことはないですか?
とりあえず、PINGが通らないときは、/etc/init.d/iptables stop してみましょう。
それでも通らないときはどこかネットワークが切れてると思います。
ネットワークがつながらないときは無限あり地獄のような
出口の見えない焦燥感に苛まれますので、誰かのお役に立てば幸いです。
コメントを書く



