file_get_contentsの代わりにcurlを使う

PHPでfile_get_contentsを使うとやけに遅いので他に方法がないか調べてみた。
curlを使う方が早いとのことなので、試しに使ってみると、目で見てわかるくらい早くなった。
使い方は以下。簡単。curlは格安レンタルサーバーでも使えるところがほとんど。

$curl=curl_init();
curl_setopt ($curl,CURLOPT_URL,$surl);
curl_setopt ($curl,CURLOPT_HEADER,0);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$xmlStr = curl_exec ($curl);
curl_close ($curl);

これで$xmlStrに取り出した物が入る。

もしCSVファイルの場合だと。上のようにしたあと。

$fp = tmpfile();
fwrite($fp,$xmlStr);
rewind($fp);

として

fgetcsvを使って取り出せる。

phpのテンプレートsmartyとか

最近久しぶりにPHPでサイトを作った。
その時smartyというテンプレートエンジンを使ったら便利だったという話。

テンプレートエンジンというのは、デザインとプログラム部分を分けることができるもので、
デザイン部分は普通のHTMLみたいに作って、プログラム部分と同じような変数を使うことで変数の中身だけ、プログラムファイルからデザイン部分に持ってこれる。
以前、pythonでdjangoは使ったことがあるんだけど、今回phpでテンプレートを使ってみて改めて便利だなと思った。

本業でプログラムをしてるわけじゃないから、PHPとかpythonとかjavaとか独学でちょこちょこ触る程度。
なので、テンプレートは難しそうというイメージがあった。だけど実際に弄ってみると、グーグルで検索して使い方を調べて30分ほどでインストールから実際にサンプルサイトを作るまでできた。
これは便利すぎる。一回使うと後はほぼ必須になる。

最近ドリームウィーバーも使い出してあまりの便利さに嬉しくなったんだけど、こういう便利ツールが実は全然難しいものじゃなくて、簡単な物だと知ってるかどうかは大きな違いだなぁと思った。

PHPでCSVデータの扱い

CSVからデータを取り出して連想配列に入れる方法のメモ。

以前pythonで作った時はsplitを使ったんだけど、phpで作ろうとして調べたらsplitは非推奨になっていた。
代わりにpreg_splitを使うらしいが、正規表現を使わないならexplodeを使うらしい。

$csvdがCSVファイル(区切りは半角スペース、囲みが””)として
$data = fgetcsv($csvd,1024,’ ‘,'”‘)
としてデータを取り出す。ここで半角スペースで区切ったデータが取り出せる(例えばA B Cみたいに)ので

$data2=(explode(‘ ‘,$data));

とすると。配列にそれぞれのデータを入れることができる。
次に$data2の1番目と3番目のデータを連想配列に入れるには
$skeyにキーを配列で入れておいて

$data3[$skey[$j]]=array($data2[0],$data2[2]);

で成功。取り出す時は
キーが$skey[$i]の1番目のデータを取り出す時は

print $data3[$skey[$i]][0];

みたいにすればOKだった。

がんの粗死亡率と年齢調整後のがん死亡率

ライフネットの岩瀬大輔副社長が書いたがん保険のカラクリ (文春新書)を読んだ。その中にがん保険の広告についての話があった。がん保険の広告ではよく、最近ガンでの死亡率が上がっている、ということが強調されて、それが広告に使われている。しかし、実際は、高齢化が進んでいるために、その高齢化の影響を考慮して年齢調整すると、むしろガンでの死亡率は横ばいか下げ気味になっているとのこと。厚生労働省のサイトにデータがあるらしいので、自分でちょっと調べてみた。最新データは見つけられなかったけど以下のデータは見つかった。

悪性新生物死亡統計について
悪性新生物死亡統計について(人口動態統計特殊報告)、厚生労働省より。

これを見ると確かに、ガンの死亡率は上がっているけど、年齢調整後だとむしろガンでの死亡率は下がっていることがわかる。年齢調整とは、日本の場合は、昭和60年の人口構成(人口ピラミッド)を基準にして、基準となる人口構成に調整してデータを見る方法らしい。なので年齢調整すると高齢化の影響などが排除できる。

他に、高額療養費制度についての指摘があったけど、これは私も実際に身近で経験したので同感。例え大きな手術をしたとしても、高額療養費制度があるから、実際にはお金はあまりかからない。必要なのは、個室を選んだ場合にかかる費用等でこれはそう大した額じゃない。結局一番の問題は病気をして働けなることで、この本では、そこで働けなくなった時のために就業不能保険を作ったみたいな話が出てきた。高額療養費制度という制度をちゃんと知ってるか知らないかは本当に大きい。

がん保険のカラクリ、というと保険関係の本で内容がつまらないようなイメージが自分の中ではあったけど、この本は切り口が鋭いので、保険自体にあまり興味がない私でも興味をもって読むことができた。文章も読みやすい。

チリワインのサンライズ、カベルネ・ソーヴィニヨン

チリワインに挑戦。
サンライズというチリワインはコンビニにも、普通のスーパーにもよく置いてあるワイン。輸入をメルシャンがしている。価格は1000円くらい。

チリワインのサンライズ、カベルネ・ソーヴィニヨン

DSC_0833

ちょびちょび飲んで今ボトルの半分ほど飲み終わった所。
このサンライズを飲む前には、ムートン・カデ・ルージュを飲んでいた。そのムートン・カデ・ルージュに比べると、味が軽い。
裏のラベルを見ると、ミディアムボディとフルボディの中間になっている。
ムートン・カデ・ルージュはフルボディなので、その差が、この味の重さの違いになってるんだとわかった。
ただ、ムートン・カデ・ルージュと比べなければ、結構しっかりした味だと思う。500円以下のワインにあるような薄い感じのワインに比べるともっとしっかりしている。
これで1000円ならコストパフォーマンスがいいと言われる理由が少しわかる。
500円以下、1000円前後、1500円よりちょい上。この3つの価格帯は結構差がはっきりしてる。

サンライズ、カベルネ・ソーヴィニヨン(amazon)
サンライズ、カベルネ・ソーヴィニヨン(楽天)