2020年03月

PHP5の環境とPHP7の環境とで実行結果が異なる事象が発生した。
原因は下記だった。
引数を調べる関数は、パラメータの その時点での 値を報告する

ナンノコッチャわからん。。。
具体例をそのまま引用させていただく。
function foo($x) {
$x++;
var_dump(func_get_arg(0));
}
foo(1);

PHP5 の場合「1」が出力され、PHP7だと「2」となる。
直感的にはPHP5の挙動が自然だと思うのだが、他の言語との兼ね合い(調和?迎合?)なのかなぁ。

私の場合、関数の引数をそのまま再利用して上書きするという、「PHPらしい」(と私は思っている)実装をしたため、問題が発生してしまいました(^_^;)

なんとなく、PHPがJAVA化していっているような気がする今日このごろ、皆様方におかれてはいかがでしょうか(ナンノコッチャ)?
事の発端は、スイスの国名コード(国を2文字のアルファベットで表すもの)がなぜ「CH」なのだろう?と思ったこと。
CHで思いつく国って、おそらく、我が国民だと、あの大陸の国だと思ってしまうのでは…。でも、その国のコードは「CN」なのです。(…って、国名伏せる意味ないじゃんー(笑)

Wikipediaいわく
スイス連邦の正式名称は4種の公用語(ドイツ語、フランス語、イタリア語、ロマンシュ語[1])で定められているが、硬貨や切手などのように4種を併記する余裕がない場合、単独で使用することが許されるラテン語の国名(Helvetia、ヘルヴェティア共和国も参照)が定められている。

ドイツ語名:Schweizerische Eidgenossenschaft
フランス語名:Confederation Suisse
イタリア語名:Confederazione Svizzera
ロマンシュ語名:Confederaziun Svizra
ラテン語名:Confoederatio Helvetica

正式国名と同様に通称も5種類ある。

ドイツ語名:Schweiz[注 1]
フランス語名:Suisse[注 2]
イタリア語名:Svizzera[注 3]
ロマンシュ語名:Svizra[注 4]
ラテン語名:Helvetia[注 5]

なるほど。「Confoederatio Helvetica」の略で「CH」なのね。
続きを読む