$a = 0;
if(empty($a)){
echo 'TRUE';
}else{
echo 'FALSE';
}
これが、TRUEになることは容易にわかるのですが
$a='0';
if(empty($a)){
echo 'TRUE';
}else{
echo 'FALSE';
}
これも、TRUEになるとは盲点でした。恐るべしPHP
$a = 0;
if(empty($a)){
echo 'TRUE';
}else{
echo 'FALSE';
}
これが、TRUEになることは容易にわかるのですが
$a='0';
if(empty($a)){
echo 'TRUE';
}else{
echo 'FALSE';
}
これも、TRUEになるとは盲点でした。恐るべしPHP
値の不明な変数を初期化する場合
if($a){
$a = 'hogehoge';
}
もしくは
$a = $a ? $a : 'hogehoge';
これを以下のように書きます。
$a || $a = 'hogehoge';
|| は、if文の条件式にしか普段は使わないのだけれども
編集の初期化処理などに使うと1行で簡潔にかけて意外ときれい。
あまりこういう記述を増やすとPerlみたいに暗号のようなコードになりそうなので
ほどほどにしながら、ワンポイントで使うといいかも。
月とかカレンダーの日をfor文でまとめて出力するときに
以下のように書くことがあるかと思います。
for($i=1;$i<=12;$i++){
echo $i.'月<br>';
}
=================
1月
2月
3月
4月
5月
6月
7月
8月
9月
10月
11月
12月
ただ、これだとレイアウト的に1桁の月と2桁の月でサイズがずれたりすることがあります。
そこで、1桁の月に頭に0をつけて 01月 02月 ... という風に表示したいとします。
IF文で書くと以下のような感じ。ちょっとIF文が仰々しくてあまりうれしくありません。
for($i=1;$i<=12;$i++){
if($i < 10){
echo '0'.$i.'月<br>';
}else{
echo $i.'月<br>';
}
}
これを、substrで書くとこんな感じ
for($i=1;$i<=12;$i++){
echo substr('0'.$i, -2) . '月<br>';
}
=================
01月
02月
03月
04月
05月
06月
07月
08月
09月
10月
11月
12月
全部の月の頭に0をつけて文字列として右から2文字を出力する形です。
別にそれほどエレガントでないかもしれませんが
同じ文字数にそろえたいレイアウトの整形という意味では
非常に的を得た方法ではないかなと思います。
suPHP をApacheにインストールして、PHPをCGI実行させてやろうとしたときに出たエラーメッセージ
Premature end of script headers:
とにかく、何が問題なのかは教えてくれず、どこか悪いといっているようです。
ブラウザをたたいても恐怖のInternetServerErrorだし。
いろいろ原因はあるみたいですが、はじめから設定内容を確認するしかなさそうです。
今回は、php-cgi バイナリーの設定ができていないという致命的なミスがあり
PHPをコンパイルしなおすところからやり直しました。(かなり嵌った)
結論:もう少しやさしめのエラーメッセージを希望!
いやはや、この無料のストレージ容量が増えたのはすごくうれしい。
個人的に、DropBoxやらSugarSyncなんかのファイル同期ストレージは
ヘビーに利用しているのでどんどんデータがたまって容量不足にいつも困ってました。
ちょこっと書いたソースやドキュメントをとりあえず同期して
気が向いたら続きを書くといった場所を選ばない開発ができます。
5GBも使えるとほぼ開発環境を丸ごとほりこんでも大丈夫じゃないでしょうか。
どこでも同じ設定で使えるのは開発を始めるときの障壁が少なくなりますしね。
これでもっと開発が楽しくなる予感!
※有料のLiveDrive使って容量無制限のストレージも使ってるけど
ソフトが重たいのが難点。あとLinuxと同期できるとなおうれしい。
ブログを書くのがどうも進まないので、
もう少し、気楽にどうでもいいことも書くようにしようかと思います。
はじめは、技術系の備忘録的な意味で書いてましたが
備忘録といっても、仕事関係はオープンにできないことが多いので
必然的に、汎用的な内容を選ぶことになります。
ただ、それだとネタをそれほど持ち合わせていない私はすぐに窮してしまい
どんどん書かなくなってしまったので書くモチベーションを維持できるよう
適当なことも、もう少し入れていこうかと思います。
「そんなにまでしてなぜブログを書くんだ?」と言われますと
単純に、文章を書くのが苦手なのでそのトレーニングの意味が大きいです。
その中で、ただ書くだけじゃなく技術系のことなら多少知識や経験もあるので
残すと役に立つかなとなんとなく思ったからです。
ただ、実際にはぜんぜん書けてないのでこの有様です。
とにかくエントリーが続けれるようにがんばります。
スタンダードプランだとInnoDBストレージがが使えない。
これにはちょっと驚いたけど、FAQに書いてありました。
http://faq.sakura.ad.jp/faq/1032/app/servlet/qadoc?000526
MyISAMだとテーブルロックなので、更新と参照のバランスよっては
問題になる可能性がありますね。
あらかじめ設計時に気をつけたいポイントです。