PHP

PHP のエラーログを標準出力や標準エラーに出す方法

PHP のエラーログを標準出力や標準エラーに出す方法についてです。

PHP をコマンドラインで実行する場合に、エラーをそのままターミナル上で確認したいことがあります。 そんなときには ini_set() で設定 error_log の値を変更すれば OK です。

PHP で最大実行時間をセットしたり確認したりする方法

PHP でタイムアウトまでの時間をセットしたり確認したり方法についてです。

まずはセットの方から。 セットする方については 2 通りの方法があります。 ひとつめは専用の set_time_limit() を使う方法、もうひとつは汎用の ini_set() を使う方法です。

// 1 つめ
// タイムアウトまでの時間を設定する
// この場合は 600 秒
set_time_limit(600);

// 2 つめ
// タイムアウトまでの時間を設定する
// この場合は 300 秒
ini_set('max_execution_time', 300);

いずれも数字の単位は「秒」になります。

PHP で Fatal error: Can't use method return value in write context in ... というエラーが出る場合の対処方法

問題

PHP でコードを書いていると実行時に次のようなエラーが出ることがあります。

Fatal error: Can't use method return value in write context in ...

原因と対処方法

(私の経験上)多くの場合、このエラーが出るのは empty() にメソッドの戻り値を渡していることが原因です。

例えば次のようなコードでこのエラーが発生します。

PHP で固定間隔の時系列を生成する方法

PHP の組み込みの関数を利用して固定間隔のタイムシリーズを取得する方法についてご紹介します。

出力のイメージは次のとおりです。

<?php
[
  '2020年12月',
  '2020年11月',
  '2020年10月',
]

この場合は DatePeriod オブジェクトを使うやり方がシンプルです。

PHP で array_reverse() を使うときの注意点

先日 PHP の array_reverse() 関数を使っていて驚いたことがあったので備忘録として残しておきたいと思います。

array_reverse() は要素の順番を前後逆にした配列を返してくれる関数です。使用例はこちら。

インデックス配列:

$original = [5, 9, 6, 3];
array_reverse($original);
// => [3, 6, 9, 5]

連想配列:

PHP の .phar ファイルを解凍する方法

解凍という表現が適切かどうかわかりませんが .phar ファイルの中身を確認したいときがあります。 そういうときには以下のコマンドを使うことで中身をディレクトリに展開して確認することができます。

$ phar extract -f ファイル名.phar 

PHP での型チェック方法まとめ

機会はそう多くはないのですが、 PHP で型チェックをしたくなるときがときどきあります。 このあたりに関して PHP はなんだかわかりづらいので、かんたんにまとめておきたいと思います。

gettype()

gettype() はプリミティブ型・組み込み型( PHP では正確に何というのでしょう?)のデータ型のチェックを行うために使用します。

gettype(3);
// => 'integer'
gettype('hello');    
// => 'string'

戻り値はあくまでも文字列です。

PHP の連想配列の最初の要素を取得する方法

PHP の連想配列で最初の要素を取得する方法について。 ちょっと直感的ではなくまたすぐ忘れてしまいそうなのでここに書き留めておきたいと思います。

最初の要素の「バリュー」を取得する

値を取得するのはかんたんで reset() 関数を使えば OK です。

$first_value = reset($target); 

最初の要素の「キー」を取得する

キーは一見取得方法がわからないのですが、 reset() 後に key() 関数を使えば OK です。

ページ