2014/08/22

PHPにおける文字列分割について

普通にsplit関数でも使えばよいのだろうと思っていたのだが、そうでもなかった。
split関数は、PHP5.3.0から非推奨とのこと。

・区切り文字で分割したい→explode
・正規表現で分割したい→preg_split

<参考>
http://kyoheigl.me/blog/php/271

2014/08/20

PHPにおける日付書式指定について

月、日に前ゼロをつけたくない場合は、下記のように指定する。

// 日付変数を生成
$datetime = new DateTime();

// フォーマット
$datetime->format(Y/n/j);

※前ゼロをつける場合は「Y/m/d」でよい。

<参考>
http://ponk.jp/php/datetime/function

PHPにおけるCSV出力について

CSV出力には、fpuscsv関数を利用するのが簡単だが、文字コードの指定ができないなど
不便な点がいくつかある。

// 追記モードでファイルを開く
$fp = foepn('ファイルパス', 'a');

// CSV出力用の配列を用意
$line = array();
$line[] = "a";
$line[] = "b";
$line[] = "c";
$line[] = "d";

// 配列を自動的にCSV出力
fputcsv($fp, $line);

// ファイルクローズ
fclose($fp);


(問題点)
 ・文字コードの指定ができない。
 ・エンクロージャを必ず付ける(付けない)ような指定ができない。
 ・改行コードの指定ができない。

この問題を解決する場合は、自前で出力データを編集してファイル出力するしかない。

// 追記モードでファイルを開く
$fp = foepn('ファイルパス', 'a');

// 出力データを編集(改行コードはCRLF)
$line = "a,b,c,d\r\n";

// UTF-8をSJISに変換して出力
fwrite($fp, mb_convert_encoding($line, 'SJIS', 'UTF-8'));

// ファイルクローズ
fclose($fp);

2014/08/01

ExcelのF1キーを無効にするアドイン

マクロを登録したり、レジストリを変更することで対応可能ですが、アドインとしてインストールすることでF1キーを無効化してくれる。
(内部的にはレジストリ変更しているようですが)

http://tsofthome.appspot.com/excel-f1-addin.html

※ダウンロードはVectorから