PHPでセッションを完全に破棄する
<?php
// セッション変数を全て解除する
$_SESSION = array();
// セッションを切断するにはセッションクッキーも削除する。
// Note: セッション情報だけでなくセッションを破壊する。
if (isset($_COOKIE[session_name()])) {
setcookie(session_name(), ”, time()-42000, ‘/’);
}
// 最終的に、セッションを破壊する
session_destroy();
?>
参考サイト:http://d.hatena.ne.jp/Kappuccino/20080726/1217049706
PHP_EOL
PHPには定義済み定数に「PHP_EOL」があり、これを使用することで改行を表示させることができます。
Linux、Mac、Windowsなどの異なるOS環境間で改行コードを内部的に自動で切り替えてくれます。
例えば、Macの場合には「¥n」や「¥n¥r」、「¥r¥n」などとコードに記載しても、改行表示されません。
foreachで、配列を展開する
foreach ($array as $key => $val) {
echo $key ;
echo $val;
}
以下のように実行することで、配列内から空要素を削除することが出来ます。
//空要素を削除
$link_accept_list = array_merge(array_diff($link_accept_list, array(”")));
小数点以下第2位で四捨五入
$num2 = round($num1,2);
echo $num2;
これで$num2は小数点第二位まで表示されます。(12.22、5053.35など)
define( “ONE_DAY_SEC”, 24 * 3600 );
// 日付けの差分をとる関数
function dateDiff( $date1, $date2 ) {
return ( strtotime( $date1 ) – strtotime( $date2 ) ) / ONE_DAY_SEC;
}
// 実行サンプル
$date1 = date(’Y/m/d’);
$date2 = “2010/06/01″;
$result = (dateDiff( $date1, $date2 )+1);
これで$resultには、2010/06/01 から 現在の日付までの経過日数を求めることが出来る。
参考サイト:http://q.hatena.ne.jp/1169605670
asort ($res_get_email,SORT_STRING);
sort (配列,パラメータ);
このパラメータを次の3つから選択することで並べ方をコントロールすることができます。
SORT_REGULAR – 通常通りに項目を比較
SORT_NUMERIC – 数値的に項目を比較
SORT_STRING – 文字列として項目を比較
参考URL:http://w1.nirai.ne.jp/freeze/main/file12.html
$array3 = array_merge($array1,$array2);
//mailto:が使用されているメールアドレス
preg_match_all(”/mailto:(.+?)\”/s”, $html2, $matches);
//mailto:は使用されておらず、@を基準に判別
preg_match_all(’/[-.\w\/]+@[-._[:lower:]\d]+\.[[:lower:]]{2,4}/s’, $html2, $matches);
または、
preg_match_all(’/[-._a-zA-Z0-9\/]+@[-._a-z0-9]+\.[a-z]{2,4}/s’, $html2, $matches);
正規表現については、精度の問題もあり、意見が分かれるところだとは思いますが、私の場合は、これで十分だったので、メモとして残しておきます。
phpMyAdminにて、データベース側にインポートする際、エンコードの設定を「cp932」に設定することで、機種依存文字を文字化けせずにインポートすることが可能になります。
*今回は、機種依存文字を含むsjisのCSVをutf8のデータベースにインポートしました。
参考サイト:http://smiu2it.blog.so-net.ne.jp/2009-04-16