Archives by date

You are browsing the site archives by date.

【PHP】文字列内にひらがなが存在するか調べる。

めも。

$str = 'あイゥ';
if(preg_match('/[ぁ-ん]+/u', $str)){
	// ひらがなが含まれる場合の処理を記述
}

正規表現パターン末尾の「u」はUTF-8の文字コードで検索を行う場合必須なので注意。

 

【PHP】ファイルの行数を求める。

file()関数などでメモリをバカ食いしたくない時におすすめ。

$filePath = '/path/to/file.txt';
$count = exec('wc -l '.$filePath);
$count = trim(str_replace($filePath, '', $count));

こんな感じで取得可能。

 

【PHP】ドット連結記法で配列に値をセット出来るメソッド。

laravelのコアファイルより発掘。

function array_set(&$array, $key, $value)
{
	if (is_null($key)) return $array = $value;

	$keys = explode('.', $key);

	while (count($keys) > 1)
	{
		$key = array_shift($keys);

		if ( ! isset($array[$key]) or ! is_array($array[$key]))
		{
			$array[$key] = array();
		}

		$array =& $array[$key];
	}

	$array[array_shift($keys)] = $value;
}

使い方は下記の通り

// $array['user']['name'] にセットしたい場合
array_set($array, 'user.name', 'Value');

// $array['user']['name']['first'] にセットしたい場合
array_set($array, 'user.name.first', 'Value');

 

【PHP】ファイルサイズをEiB(エクスビバイト)まで変換してくれるメソッド。

laravelのコアファイルより発掘。

function get_file_size($size)
{
	$units = array('Bytes', 'KiB', 'MiB', 'GiB', 'TiB', 'PiB', 'EiB');
	return @round($size / pow(1024, ($i = floor(log($size, 1024)))), 2).' '.$units[$i];
}