メイン | 2005年10月 »

2005年09月30日

PHP:strstr()関数

strstr()関数は、文字列中から指定文字列が最初に現れる場所を検索し、検索位置から文字列の最後までを返します。指定文字列が見つからない場合にはfalseを返します。
※正規表現を使用しない文字列一致検索の場合には、ereg()関数などより高速なので便利です。

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

投稿者 wing : 01:08 | コメント (0)

2005年09月28日

PHP:parse_str()関数

parse_str()関数は、クエリーに付与されているkey=値の部分をグローバル変数に格納します。
アクセス解析の際などに便利な関数です。

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

投稿者 wing : 19:13 | コメント (0)

PHP:quotemeta()関数

文字列中に含まれるすべてのメタ文字をエスケープする関数です。

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

投稿者 wing : 19:09 | コメント (0)

2005年09月26日

PHP:crypt()関数

crypt関数は文字列を暗号化する関数です。
crypt($str, $salt);  //$strは暗号化する文字列、$saltは暗号化のキーとする文字列
$saltが同一であれば、暗号化の結果は必ず同じになります。

※この関数は、.htpasswdなどに暗号化したパスワードを書き込む際などによく使用します。

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

投稿者 wing : 21:27 | コメント (0)

PHP:number_format()関数

number_format()関数は、数値を「,」で3桁区切りにして出力します。
小数点以下の桁数・区切り文字を設定可能です。(区切り文字の設定の使用頻度は低いです。)

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

投稿者 wing : 01:04 | コメント (0)

2005年09月24日

PHP:htmlentities()・htmlspecialchars()関数

htmlentities():文字列をhtmlエンコードします。
htmlspecialchars():文字列中の特定文字「&」「"」「<」「>」をhtmlエンコードします。
html_entity_decode():htmlエンコードされた文字列を元に戻します。

続きを読む "PHP:htmlentities()・htmlspecialchars()関数"

投稿者 wing : 22:48 | コメント (0)

PHP:break・continue

break:while・for・foreachなどのループ処理を途中で終了する場合に使います。
continue:while・for・foreachなどのループ処理の途中で処理をスキップする場合に使います。

投稿者 wing : 01:10 | コメント (0)

2005年09月22日

PHP:explode()関数・implode()関数

explode():文字列を指定区切り文字で分割し、配列を生成します。
※正規表現を使用して文字列を分割するsplit()関数もありますが、正規表現を使用する必要がない場合には、explode()関数のほうが高速です。
implode():配列の各要素を指定区切り文字で連結します。

続きを読む "PHP:explode()関数・implode()関数"

投稿者 wing : 23:04 | コメント (0)

2005年09月21日

PHP:trim()関数

文字列から「\n」「\r」「\t」「\v」「\0」「半角スペース」を取り除く関数です。

trime:文字列前後の空白を取り除く。(一番よく使います。)
ltrime:先頭の空白を取り除く。
rtime:末尾の空白を取り除く。

※この関数は、CSVを読み込んだ際に行の末尾の要素の改行を取り除く場合によく使用します。

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

投稿者 wing : 17:04 | コメント (0)

2005年09月20日

PHP:addslashes()・stripslashes()関数

addslashes():「'」「"」「\」「NULL文字列」を「\」でエスケープします。
stripslashes():addslashesでエスケープされた文字列を元に戻します。

続きを読む "PHP:addslashes()・stripslashes()関数"

投稿者 wing : 17:41 | コメント (0)

2005年09月19日

PHP:$_SERVER サーバ環境変数

PHPでは、サーバに関する環境変数はグローバル変数$_SERVERに格納されます。
HTTP_REFERERやREMOTE_ADDR、PHP_SELFなどスクリプト構築において欠かせない変数群を簡単に取得できるので、それぞれ暗記しておいて損はないです。

続きを読む "PHP:$_SERVER サーバ環境変数"

投稿者 wing : 13:54 | コメント (0)

2005年09月18日

PHP:スーパーグローバル変数

PHPでは、$_COOKIEや$_SERVERなど予約済みの変数があります。

続きを読む "PHP:スーパーグローバル変数"

投稿者 wing : 18:58 | コメント (0)

2005年09月17日

PHP:foreach構文

foreach構文は、主に
(1)配列から値を取り出す場合
(2)連想配列からキーと値を取り出す場合
などに使用します。
(配列やコレクションの各要素に対して、一連の処理を繰り返し実行したい場合などに使用します。)

※while文のeachによる配列からの取得処理と違って、同配列からの取得処理を同一スクリプト内で何回でも行うことができます。

続きを読む "PHP:foreach構文"

投稿者 wing : 23:02 | コメント (1)

2005年09月16日

PHP:条件分岐構文(switch)

switch文は、条件式の値にもとづいて処理を実行します。
多岐にわたる分岐処理を行う場合には、if文よりもスマートに記述することができます。

続きを読む "PHP:条件分岐構文(switch)"

投稿者 wing : 23:56 | コメント (0)

2005年09月15日

PHP:条件分岐構文(if)

if文は、条件式の真偽にもとづいて処理を実行します。

続きを読む "PHP:条件分岐構文(if)"

投稿者 wing : 16:37 | コメント (0)

2005年09月14日

PHP:do while構文

do while構文は、指定された条件式がTRUEの間処理を実行します。
※処理が実行されない可能性があるwhile構文とは違い、処理が必ず1回は実行されます。

続きを読む "PHP:do while構文"

投稿者 wing : 21:43 | コメント (0)

2005年09月13日

PHP:mb_send_mail()関数

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

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

投稿者 wing : 22:07 | コメント (0)

2005年09月12日

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関数に持たせることもできます。

投稿者 wing : 00:50 | コメント (0)

2005年09月11日

PHP:曜日を算出

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

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

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

投稿者 wing : 00:27 | コメント (0)

2005年09月10日

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 "不正な文字列です。";
}

投稿者 wing : 11:53 | コメント (0)

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

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

投稿者 wing : 11:51 | コメント (0)

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

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

投稿者 wing : 11:48 | コメント (0)

2005年09月09日

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

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

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

投稿者 wing : 15:04 | コメント (0)

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

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

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

投稿者 wing : 14:39 | コメント (0)

2005年09月08日

PHP:メタ文字について

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

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

投稿者 wing : 18:58 | コメント (0)

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

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

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

投稿者 wing : 12:58 | コメント (0)

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

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

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

投稿者 wing : 12:46 | コメント (0)

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

投稿者 wing : 11:36 | コメント (0)

2005年09月07日

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アドレスをチェック"

投稿者 wing : 22:54 | コメント (0)

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

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

投稿者 wing : 17:06 | コメント (0)