|  |  | 
		
			|  | ここではPHPの基本について簡単ですが解説します。随時更新もしていきたいと思います。 
 [言語リファレンス] [PHPの関数] [Webフォームのコントロール] [クラス定義] [エラー処理]
 
 
 |  
 
        
          |  | 日付・時刻の操作 |  
	        
	          |  | 1) | 現在の日時を取得 |  
	          |  |  | time()とgetdate()を使用 
 
								| <?php 
 //現在時刻をUnixエポック(1970年1月1日 00:00:00 GMT)からの通算秒 として返します。
 print time();  //1970年1月1日 00:00:00からの経過秒数を表示
 
 //日付/時刻情報の取得
 $date = getdate();  //システム日付は連想配列として格納
 print $date['year'] ."年";  //システム日付の西暦年4桁を表示
 print $date['mon'] . "月";  //システム日付の月(1〜12)を表示
 print $date['mday']. "日";  //システム日付の日(1〜31)を表示
 print $date['hours']. "時";  //システム日付の時(0〜23)を表示
 print $date['minutes']. "分";  //システム日付の分(0〜59)を表示
 print $date['seconds']. "秒";  //システム日付の秒(0〜59)を表示
 print $date['weekday'];  //システム日付の曜日を表示
 print $date['wday'];  //システム日付の曜日(0:日曜〜6:土曜)
 
 ?>
 
 |  
 |  
 
	        
	          |  | 2) | 日付の妥当性チェック |  
	          |  |  | checkdate()を使用 bool checkdate ( int month, int day, int year )で指定された日付が有効であればTRUEを返し、そうでなければFALSE を返します。引数で指定された日付の妥当性をチェックします。
 
 
								| <?php 
 //2006年6月31日のチェック。結果はFALSEとなります。
 if (checkdate(6, 31, 2006)) {
 print "2006年6月31日の日付は正しいです。";
 }else{
 print "2006年6月31日の日付は存在しません";
 }
 
 ?>
 
 |  |  
 
	        
	          |  | 3) | 書式化した日付 |  
	          |  |  | date()を使用 string date ( string format [, int timestamp] )
 主なformat パラメータ文字列は下記の通りです。
 |  
	          |  |  | 
			        
			          | 
								
									| format 文字 | 内 容 |  
									| Y | 年。4 桁の数字。 |  
									| y | 年。2 桁の数字。2006年だと06。 |  
									| m | 月。数字。先頭にゼロをつける。 |  
									| d | 日。二桁の数字(先頭にゼロがつく場合も) |  
									| a | 午前または午後(小文字)。amまたはpm |  
									| A | 午前または午後(大文字)。AMまたはPM |  
									| g | 時。12時間単位。先頭にゼロを付けない。 |  
									| G | 時。24時間単位。先頭にゼロを付けない。 |  
									| h | 時。12時間単位。先頭にゼロを付ける。 |  
									| H | 時。24時間単位。先頭にゼロを付ける。 |  
									| i | 分。先頭にゼロをつける。 |  
									| s | 秒。先頭にゼロをつける。 |  
 |  |  
 
	          |  |  | 
								| <?php 
 //yyyy年mm月dd日 24hh:mm:ss形式で現在日付を出力
 $date = time();
 print  date( 'Y年m月d日 H:i:s', $date );
 
 ?>
 
 |  |  
 
	        
	          |  | 4) | 7日前の日付の算出 |  
	          |  |  | mktime()を使用 int mktime ( [int hour [, int minute [, int second [, int month [, int day [, int year [, int is_dst]]]]]]] )
 is_dstで増減値を指定して引数は右から順に省略することができます。
 |  
	          |  |  | 
								| <?php 
 //2006年5月6日の7日前の算出
 print  date( 'Y年m月d日', mktime(0, 0, 0, 5, 6, 2006, -7) );
 
 ?>
 
 |  |  
 
	        
	          |  | 文字列操作 |  
	          |  |  |  
	        
	          |  | 1) | 文字列の長さ(Byte単位)取得 |  
	          |  |  | strlen()を使用 
									| <?php 
 //文字列:山田太郎123の文字Byte算出(結果は11Byte)
 $lenb = strlen("山田太郎123");
 print "山田太郎123の文字列の長さは " . $lenb . "Byteです";
 
 ?>
 
 |  |  
 
	        
	          |  | 2) | 日本語文字数の取得 |  
	          |  |  | mb_strlen()を使用 
									| <?php 
 //文字列:山田太郎123の文字数(結果は7文字)
 $mb_len = mb_strlen("山田太郎123");
 print "山田太郎123の日本語文字数は " . $mb_len . "文字です";
 
 ?>
 
 |  |  
 
	        
	          |  | 3) | 文字列の取り出し |  
	          |  |  | substr()を使用 string substr ( string string, int start [, int length] )
 start=0:1Byte目〜
 
 
									| <?php 
 //文字列:"abcdefghijk"文字の5Byte目から2Byteを取得(結果はef)
 $str_substr = substr("abcdefghijk", 4, 2);
 print "5Byte目から2Byteの文字は" . $str_substr . "です";
 
 ?>
 
 |  |  
 
	        
	          |  | 4) | 日本語文字数の取り出し |  
	          |  |  | mb_substr()を使用 string mb_substr ( string str, int start [, int length [, string encoding]] )
 start=0:1文字目〜
 
 
									| <?php 
 //文字列:山田太郎123の4文字目から2文字を取得(結果は郎1)
 $str_substr = mb_substr("山田太郎123", 3, 2);
 print "3文字目から2文字は" . $str_substr . "です";
 
 ?>
 
 |  |  
 
	        
	          |  | 5) | 文字列を置換する |  
	          |  |  | str_replace()を使用 mixed str_replace ( mixed search, mixed replace, mixed subject [, int &count] )
 subject の中の search を全て replace に置換
 
 
									| <?php 
 //文字列:山田太郎123の123をさんに置換得(結果は山田太郎さん)
 $str_substr = str_replace("123", "さん", "山田太郎123");
 print "置換後は" . $str_substr . "です";
 
 ?>
 
 |  |  
 
	        
	          |  | 6) | スペースを除去する |  
	          |  |  | trim()を使用 
									| <?php 
 //文字列:"  abcde fghijk    "文字の前後空白をカットする(結果はef)
 $str_substr = trim("  abcde fghijk    ");
 print $str_substr;
 
 ?>
 
 |  |  
 
	        
	          |  | 7) | HTMLタグを無効にする |  
	          |  |  | htmlspecialchars()を使用 |  
 
	        
	          |  | 7) | HTMLタグを取り除く |  
	          |  |  | strip_tags()を使用 |  
 
	        
	          |  | 8) | 配列から文字列を作成する |  
	          |  |  | impode()を使用 |  
 
	        
	          |  | 9) | 文字列から配列を作成する |  
	          |  |  | expode()を使用 |  
 
	        
	          |  | 10) | データベースへ渡す文字列の加工 |  
	          |  |  | addslashes()を使用 |  
 
	        
	          |  | 数値の加工 |  
	          |  |  |  
	        
	          |  | 1) | 四捨五入 |  
	          |  |  | round()を使用 float round ( float val [, int precision] )
 
 
									| <?php 
 print round(1.4);     //少数点第一位を四捨五入(結果は1となります)
 print round(1.4, 0);  //少数点第一位を四捨五入(結果は1となります)
 print round(1.5, 0);  //少数点第二位を四捨五入(結果は2となります)
 print round(1.54, 1); //少数点第二位を四捨五入(結果は1.5となります)
 print round(1.56, 1); //少数点第二位を四捨五入(結果は1.6となります)
 
 ?>
 
 |  |  
 
	        
	          |  | 2) | 切捨て |  
	          |  |  | floor()を使用 float floor ( float value )
 
 
									| <?php 
 print floor(1.4);  //少数点以下を切捨て(結果は1となります)
 print floor(1.5);  //少数点以下を切捨て(結果は1となります)
 print floor(1.54); //少数点以下を切捨て(結果は1となります)
 print floor(1.56); //少数点以下を切捨て(結果は1となります)
 
 ?>
 
 |  |  
 
	        
	          |  | 3) | 切上げ |  
	          |  |  | floor()を使用 float ceil ( float value )
 
 
									| <?php 
 print ceil(1.4);  //少数点以下を切上げ(結果は2となります)
 print ceil(1.5);  //少数点以下を切上げ(結果は2となります)
 print ceil(1.54); //少数点以下を切上げ(結果は2となります)
 print ceil(1.56); //少数点以下を切上げ(結果は2となります)
 
 ?>
 
 |  |  
 
	        
	          |  | 4) | 数字を千位毎にグループ化してフォーマットする |  
	          |  |  | number_format()を使用 string number_format ( float number [, int decimals [, string dec_point, string thousands_sep]] )
 
 
									| <?php 
 print "\\" . number_format(1234567);  //結果は\1,234,567となります
 
 print number_format(1234567.89);  //結果は1,234,567となります
 
 print number_format(1234567.89, 2);  //結果は1,234,567.89となります
 
 ?>
 
 |  |  
 
	        
	          |  | 配列の操作 |  
	          |  |  |  
	        
	          |  | 1) | 配列のデータの並び替え |  
	          |  |  | @昇順のソートはsort()/降順のソートはrsort()を使用 |  
	          |  |  | 
								| <?php 
 //sort()とrsort()
 $st_val = array("PHP","Apache","MySQL");
 
 //昇順のソート
 sort($st_val);
 foreach( $st_val as $temp_val) {
 echo "st_val[] = " . $temp_val;  //1.Apache 2.MySQL 3.PHPの順に出力されます
 print "<br>";
 ++$i;
 }
 
 //降順のソート
 rsort($st_val);
 foreach( $st_val as $temp_val) {
 echo "st_val[] = " . $temp_val;  //1.PHP 2.MySQL 3.Apacheの順に出力されます
 print "<br>";
 ++$i;
 }
 
 ?>
 
 |  
 |  
	          |  |  | A連想配列を昇順でソートはasort()/降順でソートarsort()を使用 |  
	          |  |  | 
								| <?php 
 //配列の宣言
 $st_val = array("00001" => "ヤマダ タロウ", "00002" => "スズキ ハナコ", "00003" => "タナカ イチロウ");
 //昇順のソート
 asort($st_val);
 foreach( $st_val as $temp_val) {
 echo "st_val[] = " . $temp_val;  //1.スズキ ハナコ 2.タナカ イチロウ 3.ヤマダ タロウの順に出力されます
 print "<br>";
 ++$i;
 }
 
 //降順のソート
 arsort($st_val);
 foreach( $st_val as $temp_val) {
 echo "st_val[] = " . $temp_val;  //1.ヤマダ タロウ 2.タナカ イチロウ 3.スズキ ハナコの順に出力されます
 print "<br>";
 ++$i;
 }
 
 ?>
 
 |  
 |  
	          |  |  | Bキーを昇順でソートはksort()/キーを降順でソートはkrsort()を使用 |  
	          |  |  | 
								| <?php 
 //配列の宣言
 $st_val = array("00003" => "タナカ イチロウ", "00001" => "ヤマダ タロウ", "00002" => "スズキ ハナコ");
 //昇順のソート
 ksort($st_val);
 foreach( $st_val as $temp_val) {
 echo "st_val[] = " . $temp_val;  //1.スズキ ハナコ 2.タナカ イチロウ 3.ヤマダ タロウの順に出力されます
 print "<br>";
 ++$i;
 }
 
 //降順のソート
 krsort($st_val);
 foreach( $st_val as $temp_val) {
 echo "st_val[] = " . $temp_val;  //1.ヤマダ タロウ 2.タナカ イチロウ 3.スズキ ハナコの順に出力されます
 print "<br>";
 ++$i;
 }
 
 ?>
 
 |  |  
 
	        
	          |  | 2) | 配列データの追加・削除 |  
	          |  |  | @末尾にデータを追加するにはarray_push()/末尾のデータを削除するにはarray_pop()を使用 |  
	          |  |  | 
								| <?php 
 //配列の宣言
 $st_val = array("PHP","Apache","MySQL");
 
 //末尾にデータを追加
 array_push($st_val, "VB", "Java");
 foreach( $st_val as $temp_val) {
 echo "st_val[] = " . $temp_val;  //PHP,Apache,MySQL,VB,Javaの順に出力されます
 print "<br>";
 ++$i;
 }
 
 //末尾からデータを削除
 array_pop($st_val);
 foreach( $st_val as $temp_val) {
 echo "st_val[] = " . $temp_val;  //PHP,Apache,MySQL,VBの順に出力されます
 print "<br>";
 ++$i;
 }
 
 ?>
 
 |  
 |  
	          |  |  | A配列をマージするにはarray_merge()を使用 |  
	          |  |  | 
								| <?php 
 //配列の宣言
 $st_val1 = array("PHP","Apache","MySQL");
 $st_val2 = array("VB","Java","C++");
 
 //配列1と配列2をマージし結果を配列1に格納
 $st_val1 = array_merge($st_val1, $st_val2);
 foreach( $st_val1 as $temp_val) {
 echo "st_val[] = " . $temp_val;  //PHP,Apache,MySQL,VB,Java,C++の順に出力されます
 print "<br>";
 ++$i;
 }
 
 ?>
 
 |  
 |  
 
	        
	          |  | ファイルの操作 |  
	          |  |  |  
	        
	          |  | 1) | テキストファイルを読み込む |  
	          |  |  | fread():ファイルの読込みを使用 |  
 
	        
	          |  | 2) | テキストファイルにデータを書き込む |  
	          |  |  | fwrite():ファイルの書き込みを使用 |  
 
	        
	          |  | 3) | 文字コードを変換する |  
	          |  |  | mb_convert_encoding()を使用 |  
 
 
 
 
 
 
        
          |  |  
          | Copyright (C)2006 TwoNess,inc. All rights 
            reserved. |  |