とりあえず、荊州あたりにいると、曹操に攻められまくるので、そのあたりを捨てて、河北を目指すことに。
一時期は北平+αくらいしかなかったんですが、これで背後を脅かされることもなくなり、
かなり楽に。
あと、1つやったことは、捕まえた武将で配下にならなかったやつをじゃんじゃん殺す。
これをしないと、相手の手数が減らないので、何時まで経っても攻められまくるというわけで・・
これはかなりの効果がありましt
とかしてたら、残りが益州と交趾くらい・・
228年くらいかな、今。
曹操はさすがに死んじゃったけど、劉備はまだ残っています。
武将も増えてきたので、クリアしないでおいといて、諸葛瑾のレベル上げをしようかな。
色々と前提がそろってきたので、スキル取りまくりんぐ><
って、それが目的だったのに!
クリアしても、また諸葛瑾でやりそうでs
ってうとうとして
crontab -r
・・・
The -r option causes the current crontab to be removed.
e と r って隣じゃんか;
消してもいーのん?とか聞いてくれてもいいやんか;
まぁ自宅のサーバだったからいいやってことでorz
これから、crontab ファイル
とかして、ちゃんと管理しようかな。
まぁファイルなら、emacs のバックアップが残ってたりもするから
それだけでもだいぶ違うだろうし。
うわああああああああああああああああああん
var_dump("0" == "0x"); は false なのに、
var_dump("10" == "0x0a"); は true なのか?
がわからんと叫んでいたのですが、
数値で比較するか、文字列で比較するかは、is_numeric を使って判定しているそうです。
"10" == "0x0a" 数値と数値になるので、数値というか整数として判定
"0" == "0x" 数値と文字列になるので、文字列として判定
==で文字列同士を数値として比較する条件
PHPの==演算子は両辺が文字列同士の場合に、両辺ともis_numeric()がtrueになるような文字列だった場合には数値として比較し、それ以外なら文字列として比較します。
ということは、
文字列 == 数値
の場合は、strtod を使って文字列を数値にして比較、という理解でいいのでしょうか?
そうだとすると、全てすっきりします。
var_dump(0 == NULL);
bool(true)
文字列ではない同士なのでそのまま比較
var_dump("0" == NULL);
bool(false)
文字列と NULL文字を比較
var_dump("NULL" == 0);
bool(true)
"NULL" を strtod するとエラーになるので、0 が返るため同じになる。
var_dump("NULL" == "0");
bool(false)
"NULL" はis_numeric の結果が false なので、文字列 == 文字列 として判定される。
ということで、矛盾はないでしょうか?
var_dump("10" == "0x0a");
bool(true)
var_dump(10 == "0x0a");
bool(true)
var_dump("10" == 0x0a);
bool(true)
var_dump(10 == 0x0a);
bool(true)
var_dump("0" == "0x");
bool(false)
var_dump(0 == "0x");
bool(true)
var_dump("0" == "0x"); は false なのに
var_dump(0 == "0x"); が true になるのが理解できません。
→これは、
文字列の最初の部分により値が決まります。文字列が、 有効な数値データから始まる場合、この値が使用されます。その他の場合、 値は 0 (ゼロ) となります。
ということのようです。(文字列の数値への変換より)
ということで、納得しました。
じゃぁなんで、
var_dump("0" == "0x"); は false なのに、
var_dump("10" == "0x0a"); は true なのか?
整数値を文字列と比較する際、文字列が 数値に変換されます。 数値形式の文字列を比較する場合、それは整数として比較されます。
両方文字列だと、数値への変換は行われない?
ということだと、var_dump("10" == "0x0a"); は true の説明がつきません。
もちろん、
var_dump(0 == "0") は true です。
0 = "0" = "0x" が成り立ちません。
再度実験。
var_dump("" == 0);
bool(true)
var_dump("0" == 0);
bool(true)
var_dump("" == "0");
bool(false)
うーん、これを見てる限り、"0" の場合は、数値化を行ってないのかも??
だけど、
var_dump("0" == "00000");
bool(true)
なので、してないわけないですね。
var_dump("" == NULL);
bool(true)
var_dump(0 == NULL);
bool(true)
var_dump("0" == NULL);
bool(false)
うーん、やっぱよくわからない。
phpのソース読むしかないのかな?
まぁ読もうとしてどこだかわからなくて挫折したわけだg
Devel::Peek みたいなのないかな。
てか、ぺちぱーの人は、だったら === 使えとか言い出すんだと思うけど、
だったら == いらないじゃんと言いたい。
続きを読む
PHPの比較の素晴らしさ加減は正常
if(10 == "10"){
print "????\n";
}
これも true になる・・・
まぁこれも許そう。
if(0x0A == "10"){
print "????\n";
}
これもtrue。許せる、まぁ。
if("0x0A" == "10"){
print "????\n";
}
これが true になる理由がわからねえええええ
なんで勝手にキャストすんの???
"0x0A" って とりあえず文字列じゃねえの??
マニュアルから
$a == $b 等しい $a が $b に等しい時に TRUE。
いや、まぁそういう仕様ならいいですけどね、
いいですけどね。。
数値を入れるフォームに、
16進数で色々突っ込んでみたくなってまいりました。
でもさ、
$param = "0x0A";
print intval($param) . "\n";
$param = 0x0A;
print intval($param) . "\n";
ってやると、
0
10
ってちゃんと返ってくるんだよね。
統一性のなさを感じます。
続きを読む


