寿司屋に赤ワインが置いてない

寿司の店には日本酒、ビールといった酒以外にも、ワインなど洋酒が置いていることが多い。
ただし、ワインがある場合はたいてい、白いワインだ。
理由はどうも、色にあるらしい。
いい寿司屋のカウンターは一本の白い木を使っていることが多い。
ここで赤ワインを万一こぼしたらどうなるだろう。
赤い色素が白い木に着いて取れなくなってしまうようだ。仮に削っても奥まで浸透して、なかなか面倒なようだ。
白身魚は白ワインが合うが、ネタがトロだったら赤ワインが合うだろうけど、これは仕方ない。

シュバルツバルトの話

地理の授業で習ったことが多い人もいるだろうシュバルツバルトの話。

まず場所を復習。こちらの地図画像に示す場所だ。フランスとの国境沿い。
https://en.wikipedia.org/wiki/Black_Forest#/media/File:Relief_Map_of_Germany,_Black_Forest.png

まず名前なんだけど、シュバルツは黒い、バルトは森で暗く見えることからその名前が付いたって言われてる。
別の説では、昔のローマ人が侵攻していったときに、薄暗い森の向こうに異民族がいる恐怖心からそう呼んだってのがあって面白い。
観光地としても有名で公式サイトまであるので気になる方はどうぞ(要英語力orドイツ語力)。
ちなみにシュバルツバルトで伐採された木材がドイツワインの貯蔵に使われる場合もある。私もそれを飲んでみたが、何というか木の香り、バーボンみたいな香りがしたのが印象的だった。

ロックギター違法化法案

例えばロックギターを毎日弾いていたとする。
そしてある日突然、国会で

『ロックギター違法化法案』

が通ったとする。

そうなると、毎日家やスタジオでロックギターを弾いていたのは、違法になってしまう。
「これはポップスギターだから有罪ではない」とか主張する人も出てくるかもしれない。近所の人が「あいつロックギター弾いてましたよ」と通報するかもしれない。

……というのはたとえ話で、今まで合法だったものが誰かの都合なのか違法になることがよくある。その例としてロックギターを挙げてみた。

で、実際にはどんな事例があったか?

たとえば、レバ刺し。

生でレバーを提供するのは現在は違法である。生レバーを提供して捕まった焼き肉店経営者の方もいる。

生レバーが危険ということで、提供するのが違法になったようではあるが、被害にあった人口で言えばお正月のモチのほうが凶悪ではあるが、生レバーは現在は『悪い食べ物』である。

以前は仕事の帰りに浜松町の居酒屋で仕事仲間とレバテキをごま油につけて食べていたが、それはもうできない。

こんなこともあるので、今普通にできてることが、将来違法になる可能性があることってのがいっぱいあるわけで、楽しみは定年後に取っておくとかいうのはあまり賛成できないというのが個人的な意見ではある。
例えば、「海外旅行が楽しみで、定年後は海外旅行に行きたい!」とか思ってたのに、定年間近になって「60歳以上の海外渡航禁止法案」とかが可決されたりしたら最悪である。

あなたも無いだろうか?以前はOKだったのが今は違法になっちゃったもの。結構あるはず。

 

「まだ水曜」なのか、「もう水曜」なのかの考察


水曜日ならではの記事を書いてみる。

週の半ばの水曜の表現方法で人間を2つに分類することができる。それは……

「まだ水曜かー」派閥と

「もう水曜かー」派閥

である。

この表現の仕方から、発言者の性格、考え方、目的意識なんかがうかがえるかなー、と思い
考察してみる。

「まだ」派閥の特徴
・週末楽しいことがある
・仕事が嫌すぎる、またはヒマすぎる

「もう」派閥の特徴
・週末特に面白そうな予定がない
・仕事が楽しすぎる
・仕事や個人のいろんなタスクがたまり過ぎてて終わらない

こんなところかと。

VPNがつながらない場合の対処法

新しいPCを買ってVPNを接続しようとすると、
「接続を拒否……」
のようなエラーが出る場合がある。
私の環境では下記URLにある方法で接続できた。

http://knkryo.blogspot.com/2016/09/windows10vpn.html

要は「認証の際にCHAPが必要」ということ。
「いきなり出てきて何ゴチャゴチャ言ってんだ」と言いたくなりそうなWindowsの仕様。。。

設定に関しては上記URLの記事を参考にしたらいいと思う。

PHPの連想配列

PHPには連想配列というものがあります。

連想配列

連想配列とは何かっていうと、超簡単に説明すると、ラベルが文字になってる配列。
ということになります。数字がラベルになってるものと違い、文字列をラベルに使えるんです。

<?php

$arr = array();
$arr['fu'] = '大阪府';
$arr['shi'] = '羽曳野市';
$arr['banch'] = 666;

var_dump($arr);

実行結果です。

array(3) {
[“fu”]=>
string(9) “大阪府”
[“shi”]=>
string(12) “羽曳野市”
[“banch”]=>
int(666)
}

こんな風に、府(fu)を大阪府、市(shi)を羽曳野市、番地(banch)を666とか言うデータを配列に持たせることができるんです。
だから例えば、データベースから持ってきた個人の住所とかを画面に表示したりする場合なんか、非常に便利ですね。

PHPの配列

PHPの配列を扱う方法をご紹介。

PHPの配列

<?php

$arr = array();
$arr[] = 100;
$arr[] = 'abc';
$arr[] = 99999;

var_dump($arr);

これを実行した結果。
array(3) {
[0]=>
int(100)
[1]=>
string(3) “abc”
[2]=>
int(99999)
}

array()という書き方をすることで、配列を新規に定義できる。
そして、
$arr[]に対して、=で結んで値を放り込むことで、実際に配列に値を追加が可能。

最後に var_dump関数を使うと、中身を全部表示することができる。

PHPで文字列の切り出しを行う方法

長い文字列を、短く切り詰める必要がある場合って、ありますよね?

たとえば、30文字のコメントを10文字に切り詰めるとか。

PHPには、そんなことも簡単にできる関数が用意されています。

文字列の切り出し

例えば、abcdefcgijという文字列の先頭3文字だけ取り出して表示する方法を紹介します。

<?php
$str = 'abcdefcgij';
$str2 = substr($str, 0, 3);
echo $str2;

これを実行すると、abcが表示されます。

substr($str, 0, 3)というのは、$strの「0番目の文字」から「文字3つ分の長さ」を切り出す、という意味です。
つまりは、第二引数は切り出しの●番目という「インデックス」で、第三引数は「長さ」です。
で、第三引数は省略可能で、長さは最後までということになります。

まとめ

今回は、文字列の切り出し方法を紹介しました。
この方法を使えば、何かの文字列の最初の何文字かだけをwebのページに表示したりが、可能になります。

phpの三項演算子の使い方や優先度などを解説します

PHPには「三項演算子」と言われてるものがあります。

三項演算子とは?

if文と同じように、条件によって処理を分けることができる機能です。

if文と機能は同じものの、1行でスッキリと表現できるとこが違いますね。

サンプルを見てみましょう。

<?php $score = 60; $kekka = ($score > 70) ? '合格' : '不合格';

echo $kekka;

実行結果です。

不合格

$scoreが70を超えたら、「合格」が$kekkaに入る。逆だと「不合格」が入ります。

細かく見ていくと、($score > 70)が「真」であれば、正しければ、?の直後が入って、「真」じゃない、つまり「偽」であれば:(コロン)の次が入るんです。

図で表現すると、こんな感じです。
三項演算子

 

さて、同じことをif文で試すと、こうなります。三項演算子を使うとスッキリするのがわかりますね。

<?php $score = 60; $kekka = ($score > 70) ? '合格' : '不合格';

if ($score > 70) {
	$kekka = '合格';
} else {
	$kekka = '不合格';
}

echo $kekka;

まとめ

いかがでしたか?今日は三項演算子の使い方を説明してみました。
if文よりもスッキリした表現ができますが、場合によってはif文を使ったほうがいい場合も実際にはあります。
今後はそんなお話もできればと思いますね。

PHPで日付を表示するには?どんなフォーマットなら出力可能?

こんにちは、Kyo ASAHINAです。

PHPで日付を画面に表示したいことってありますよね。

PHPで日付を表示

日付と一口に言っても、YYYY年M月D日みたいな形式もあれば、YYYY-MM-DDとかのハイフン区切り、YYYY/MM/DDみたいなスラッシュ区切りとかいろいろあります。

ただ、データベースとかファイルだとか、「元データ」が希望の形になってる場合はいいけど、そうじゃないときは困りますね。
例えば、元データが2018-05-17とかいう日付で、画面に表示しなければいけないのが2018年5月17日だったりとかです。

そんな時、便利な関数がdate()です。

使い方

下にあるプログラムのように使います。

<?php
$time = strtotime('2018-05-17');
echo date('Y年m月d日', $time);

これを実行した結果は、
2018年05月17日
になります。

このプログラムでは、まず「2018-05-17」という日付をタイムスタンプに置き換えます。
プログラム中の、strtotime()が日付をタイムスタンプに置き前ます。
タイムスタンプというのは何かというと、日付を「ある時点からの経過日数を秒で表したもの」です。
そして、タイムスタンプを$timeに入れます。
今度は、date()の第一引数に「Y年m月d日」を入れます。ここで形式を指定してるわけですね。
YがYearのY、mがmonthのm、そしてdがdayのdとなります。
そして先ほど得られた、タイムスタンプを第二引数に入れると、戻り値として、フォーマットされた形の日付が得られて、これを表示して終了です。

ただ、「『05月』になってるのを5月にしてほしい」とか注文があったら、どうしたらいいのでしょうか?
そんなときは、次のように書きましょう。

<?php
$time = strtotime('2018-05-17');
echo date('Y年n月d日', $time);

実行結果は、
2018年5月17日
になるのが、わかると思います。

何が違うんでしょうか?

m月の代わりにn月になってるんです。

つまり、mは月を01から12までの値で表示して、nは1から12までで表示するんですね。nを使うと一桁でも頭に0が付かないということです。

日付にしても、d日にしていますが、これをj日にすると、一桁でも頭に0が付かない形になります。

dは01から12で、jは1から12ということですね。

まとめ

いかがでしたか?

今日は、関数date()で日付を表現する方法を表現しました。

実はdate()を使うと、日付のみならず、時間だとか、曜日だとかいろいろな表現ができて面白いんです。

機会があればdate()でのほかの表現も紹介したいと思います。