負けてたまるか。

脳トレ、プログラミング、PHP、WEB製作などのメモ

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

--.--.-- --:-- | スポンサー広告 | トラックバック(-) | コメント(-) | Edit
41~50問 PHP実践演習


41~50問 
演習をひたすらやり続ければPHPができるようになる・・・かも

(41)現在から10日後の日付を求める


/* 現在の日時を取得 */
$date = getdate();

/* mktimeに現在の日時を設定 */
$stamp = mktime(
$date["hours"]
, $date["minutes"]
, $date["seconds"]
, $date["mon"]
, $date["mday"] + 10 // 10日後
, $date["year"]
);
// 10日後の日付を求める(1970年から指定された時間までの通算秒を得る)
//引数は year から順に省略することができる

/* 5日後の時間を得る(引数に通算秒を指定) */
$date = getdate($stamp);

/* なぜか文字化けするのでエンコードを設定 */
header("content-type:text/html; charset=EUC-JP");

/* 「2009年6月8日」と表示 */
echo $date["year"]."年".$date["mon"]."月".$date["mday"]."日";


/* 関数
int mktime ([ int $hour=date("H") [, int $minute=date("i") [, int $second=date("s")
[, int $month=date("n") [, int $day=date("j") [, int $year=date("Y") [, int $is_dst=-1 ]]]]]]] )
//日付を Unix のタイムスタンプとして取得する
*/


(42)変数が文字列、整数、小数点数、論理値、配列、リソース、オブジェクトかどうかを調べる


$str = "文字";			//文字
$num = 1234; //整数
$floa = 67.3454; //小数点数
$boo = FALSE; //論理値
$arr = array(1,2,4); //配列
$res = fopen("s.txt","rb"); //リソース
$obj = "文字"; //オブジェクト

echo is_string($str)."
";
echo is_int($num)."
";
echo is_float($floa)."
";
echo is_bool($boo)."
";
echo is_array($arr)."
";
echo is_resource($res)."
";
echo is_object($obj); //文字なのでFALSE


(43)変数が数値または数字形式の文字列、null、変数がセットされているかどうかを調べる


/* 数値または数字形式の文字列の判定に使う変数 */
$num = "123";
$num2 = 3343;
$num3 = "文字";

/* nullの判定に使う変数 */
$nul = 23423;
$nul2 = null;
$nul3 = "文字";

/* 変数がセットされているかどうかの判定に使う変数 */
$iss = 0;
$iss2 = null;
$iss3 = "";


/* 数値または数字形式の文字列の判定 */
is_numeric($num) ."
"; //TRUE
is_numeric($num2) ."
"; //TRUE
is_numeric($num3) ."
"; //FALSE

/* nullの判定 */
is_null($nul) ."
"; //FALSE
is_null($nul2) ."
"; //TRUE
is_null($nul3) ."
"; //FALSE

/* 変数がセットされているかどうかの判定 */
is_isset($iss) ."
"; //TRUE
is_isset($iss2) ."
"; //FALSE
is_isset($iss3) ."
"; //TRUE


(44)正規表現における ^A と B$ と . と [^a-zA-Z0-9_] の意味を答えよ


^A … 行頭の文字 A にマッチ
B$ … 行末の文字 B にマッチ
.  … 任意の一文字にマッチ(なんでもマッチ)
[a-zA-Z0-9_] … 英数字以外にマッチ //括弧[]の中に^が入ると否定になる


(45)MMO|GAME|RPG と ^A*BCD$ と MYU+RA と HUHU?MO の意味を答えよ


MMO|GAME|RPG … MMO、GAME、RPGにマッチ
^A*BCD$ … 行頭に文字 A の0文字以上の連続か文字 B があり、かつ行末にBCDがある場合にマッチ
MYU+RA … MY、Uが1文字以上の連続、RAがある場合にマッチ
HUHU?MO … HUH、Uが0回か1回、MOがある場合にマッチ


(46)正規表現の * , + , ? をそれぞれ {} を使って表す


* … {0,}
+ … {1,}
? … {0,1}
//ちなみに{n}は直前のパターンにn回マッチ


(47)「埼玉」と「咲玉」両方にマッチする正規表現


(埼|咲)玉


(48)<h1>~文字~;</h1> タグにマッチする正規表現を書け


<h1>.*</h1>


(49)アルファベットの大文字と + - * / = のどれか2~4文字にマッチする正規表現を書け


[A-Z+\-*\/=]{2,4}

/* 解説
[]   … クラス文字。カッコ[]内の任意の1文字にマッチ
\-   … []内で - (マイナス)という文字を表すには、直前に \ をつけてメタ文字にしなければならない。
\/   … /も同様。 phpで pattern を表すのに"/パターン/"となるためメタ文字にする
{2,4} … 2~4文字にマッチ
     使用例. {1,} = 1文字以上。{4} = 4文字。{2,12} = 2~12文字。
*/

もうなんかわからんので正規表現は放置。


(50)ファイルに文字列を追加する


$filename = "C:\\apapapache\\htdocs\\sample.txt";
$handle = fopen($filename,"a+b");

$str = array("1行目","2番目","3行目");

for($i=0;$ifwrite($handle,"\n");
fwrite($handle,$str[$i]);
}

fclose($handle);

/* 関数
fwrite($handle,$str)
//1行書き込む
a+b(fopenのオプション)
//追加読み書き+バイナリ
*/
関連記事












管理者にだけ表示

トラックバックURL↓
http://taro4.blog37.fc2.com/tb.php/217-ee8e8abd

| ホーム |

カレンダー

05 | 2017/06 | 07
- - - - 1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 -

最近の記事

月別アーカイブ

タグリスト

ブログ内検索

カテゴリー

RSSフィード

リンク

ブロとも申請フォーム

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。