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


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

週の半ばの水曜の表現方法で人間を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()でのほかの表現も紹介したいと思います。

PHPのif文

if文とは?

PHPにはif文と呼ばれるものがあります。
これは「もしも」何々だったら……という「仮定」の「条件」を指定して、条件に合致するかどうか、チェックする機能です。
たとえば、こんなPHPプログラムがあったとします。

<?php

$price = 100;

if ($price == 200) {
	echo '値段:100円';
} else {
	echo '値段:100円じゃない';
}

まず、$price == 200で$priceが200かどうか比較してます。その上の箇所で$priceに100を設定してるから、当然$price == 200は否定されちゃいますね。
そうすると、今度はelseのほうに処理が流れます。
そして、「値段:100円じゃない」が表示されます。
要は、値段が100じゃなかったら、elseのあとのカッコで囲まれた場所(ブロック)に入って処理が走るわけですね。

echoで文字列を連結して出力する2つの方法

文字列を連結

PHPでプログラムを組むとき、echoで文字列を連結してコマンドプロンプトやブラウザに出力するときの、2つの方法を紹介します。

$str1 = 'なまら';
$str2 = 'めんこい';
// ドット(.)でつなぐ
echo $str1 . $str2;
echo "\n";
// カンマでつなぐ
echo $str1, $str2;
echo "\n";

これをコマンドプロンプトで実行。

なまらめんこい
なまらめんこい

 

わかりますかね?これは$str1と$str2を繋いで出力してるんです。

そして、ドット(.)で繋ぐという一般的な方法の他に、カンマ(,)で繋いで出力するという方法があります。

とは言え、だいたいのプログラマが使い慣れてるドット繋ぎで事足りるとは言えますが。ちなみにカンマを使ったほうが動作のパフォーマンスは良いようです。

PHPerKaigi 2018(ペチパーカイギ2018)行ってみました。

PHPerKaigi 2018

登壇した人たちのレベルの高さに圧倒されますね。
最後のLTも濃い内容のものが多くて楽しめました。

PHPの7以上が普通だったんですね。うちでは5.3です。。。

そもそもPHPerKaigiって?

PHPerKaigi(ペチパーカイギ)というのは、PHPを使ってる、またはこれから使いたいエンジニアの技術共有のためのイベントです。

HPはこちら