PHP:3桁毎にカンマが入っているかどうかをチェック

if(ereg("^[0-9]{0,3}$",$str)){
    //3桁以内なのでそのまま
    return $str;
}else if(ereg("^[0-9]{1,3}(,[0-9]{3})*,[0-9]{3}$", $str)){
    //3桁毎に区切られているのでそのまま
    return $str;
}else if(ereg("^[0-9]{3,}$",$str)){
    //3桁毎に区切られていないのでカンマを入れる
    $str = number_format($str);
    return $str;
}else{
    //2桁毎にカンマが入っている場合・数字以外が含まれている等
    print "不正な文字列です。";
}


PHP:E-mailアドレスをチェック

■簡易的なE-mailアドレスチェック

if(ereg('^[-!#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]+
    '.'@'.'[-!#$%&\'*+\\/0-9=?A-Z^_`a-z{|}~]+
    \.'.'[-!#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]+$', $email)){
    print "メールアドレスの可能性がある";
}else{
    print "メールアドレスではない";
}

続きを読む "PHP:E-mailアドレスをチェック"


PHP:mb_send_mail()関数

mb_send_mail()関数は、日本語などマルチバイト対応メールを送信する関数です。

続きを読む "PHP:mb_send_mail()関数"


PHP:postgreSQLへの接続

PHPを使用した、postgreSQLへの接続メソッドです。

function dbc(){
    global $dbName, $dbAccount, $dbPassword;
    $conid = pg_connect("dbname=$dbName user=$dbAccount password=$dbPassword");
    if(!$conid){
        print "データベースに接続できません";
        exit;
    }
    return $conid;
}

$dbName = 'DB名';
$dbAccount = 'DBに接続するアカウント名';
$dbPassword = 'DBに接続するアカウントのパスワード';

$conid = dbc();  //DBへ接続

※$conidにはpostgreSQLへの接続リソースが格納されます。
※オプションとしてホスト名をpg_connect関数に持たせることもできます。


PHP:x桁の数字をランダムに作成する

パスワードやIDを生成する際に便利なユーザー定義関数です。
rand関数を使用してx桁の文字列を生成します。(文字の重複はナシ)

続きを読む "PHP:x桁の数字をランダムに作成する"


PHP:エスケープシークエンスについて

正規表現の基本となるエスケープシークエンスの一覧です。
正規表現において、\nなど\が直前についた文字は特殊な意味を持つ場合があります。

続きを読む "PHP:エスケープシークエンスについて"


PHP:キャラクタクラス・正規表現の繰り返し

正規表現の基本となるキャラクタクラス・量指定子の一覧です。
[0-9]、[a-zA-Z]などのキャラクタクラスは頻繁に使用するので覚えておくと便利です。

続きを読む "PHP:キャラクタクラス・正規表現の繰り返し"


PHP:メタ文字について

正規表現の基本となるメタ文字の一覧です。
メタ文字とは、*や+など、正規表現において文字単体で特殊な意味を持つ文字です。

続きを読む "PHP:メタ文字について"


PHP:多次元配列のソート(usort)

多次元配列を条件付きでソートする場合にはusortを使用するのが便利です。usort関数は、ユーザー定義関数を引数として、多次元配列をソートします。

続きを読む "PHP:多次元配列のソート(usort)"


PHP:多次元配列の扱い方

$MENU = array();
$MENU[0]['name'] = 'YAHOO';
$MENU[0]['url'] = 'http://www.yahoo.co.jp';
$MENU[1]['name'] = 'google';
$MENU[1]['url'] = 'http://www.google.co.jp';
$MENU[2]['name'] = 'MSN';
$MENU[2]['url'] = 'http://www.msn.co.jp';

while(list($key, $value) = each($MENU)){
    $name = $value['name'];
    $url = $value['url'];

    print "<a href=\"$url\" target=\"_blank\">$key.$name</a> ";
}

※上記の結果、以下のように出力されます。
0.YAHOO 1.google 2.MSN


PHP:文字列が半角数字のみかチェック

if(ereg("^[0-9]+$", $str)){
    print "半角数字のみ";
}else{
    print "半角数字以外も含まれている(値なしも含む)";
}


PHP:文字列の先頭が空白・タブかどうかをチェック

if(ereg("^[ \t]+", $str)){
    print "先頭はタブまたは空白";
}else{
    print echo "先頭はタブおよび空白ではない";
}


PHP:文末が改行かどうかをチェック

if(ereg("[\n\r]$", $str)){
    print "文末は改行または空白文字";
}else{
    print "文末は改行・空白文字ではない";
}


PHP:曜日を算出

function getYoubi($date){
    $sday = strtotime($date);
    $res = date("w", $sday);
    $day = array("日", "月", "火", "水", "木", "金", "土");
    return $day[$res];
}

print getYoubi(20050911);    //引数は年4桁月2桁日2桁

※上記の結果、以下のように出力されます。