負けてたまるか。

脳トレ、プログラミング、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のオプション)
//追加読み書き+バイナリ
*/
スポンサーサイト
31~40問 
演習をひたすらやり続ければPHPができるようになる・・・かも

(31)変数の参照渡しを使う


$apple = "りんご";
$banana = "バナナ";
$orange = "みかん";

$apple = $banana;
//$appleに「バナナ」を代入
$orange = &$banana;
//参照渡し
//$orange = $banana
$banana = "パイナップル";
//$appleと$orangeの値はどうなる…?

echo '$appleの値: '.$apple ."
";
echo '$orangeの値: '.$orange ." //オレンジの値が \$banana と同じ!
";
echo '$bananaの値: '.$banana;


(32)グローバル宣言や$GLOBALSをつかう


手順
-----------------------------
・変数 a,b を宣言
・関数を作って変数 a,b をくっつける
・関数外で結果を表示
----------------------------
「global宣言」
$a = 12;
$b = 23;
$kekka = 22222;

function kansu(){
global $a,$b,$kekka;
//globalを宣言
$kekka = $a + $b;
}

kansu();
echo $kekka;
//35が表示される


「$GLOBAL変数」
$a = 12;
$b = 23;
$kekka;

function kansu(){
$GLOBALS["kekka"] = $GLOBALS["a"] + $GLOBALS["b"];
}

kansu();
//関数を実行
echo $kekka;
//関数の中はローカルスコープなので、$kekkaには値が入っていない…?


(33)多次元配列の配列情報を表示する


$array[] = array(1,2,3);
$array[] = array(4,5,6);
$array[] = array(7,8,9);
//多次元配列

echo "<pre>";
//<pre>タグで整形
print_r($array);
//配列情報を表示
echo "</pre>";


(34)変数 a に「流行」、変数 b に「流行インフルエンザ」と1行で代入する


$b = ($a = "流行")."インフルエンザ";


(35)三項演算子をつかう


$s = 22;

echo($s === "22") ? "\$sと\"22\"は数字と型が等しい" : "\$sと\"22\"は数字と型が等しくない";


(36)関数に渡された引数の数、指定した引数の値、全ての引数の値をそれぞれ表示する


function kansu(){
echo func_num_args()."
";
//渡された引数
echo func_get_arg(1)."
";
//引数1つ
print_r(func_get_args());
//全ての引数を配列で返す
}

kansu(1,2,3,4,5);

/* 関数
int func_num_args ( void )
//関数に渡された引数の数を返す
mixed func_get_arg ( int $arg_num )
//指定した引数を取得
array func_get_args ( void )
//関数の引数リストを配列で取得
*/


(37)日付が有効かどうか確認し、「am 02時10分43秒」と表示し、日付を連想配列で取得し表示する。



echo checkdate(12,4,2005);
//日付の確認(1と表示される)
echo date("a H時i分s秒");
//am 02時10分43秒と表示
$date = getdate();
//日付・時刻を連想配列で取得
echo "
";print_r($date);echo "
";

/* 関数
bool checkdate( int month, int day, int year )
//グレゴリオ歴の日付/時刻の妥当性を確認します
string date ( string $format [, int $timestamp ] )
//ローカルの日付/時刻を書式化する
format … 出力される日付文字列の書式
timestamp … Unix タイムスタンプ?
array getdate ([ int $timestamp=time() ] )
//日付/時刻情報を取得する
*/


(38)現在の時刻を配列で連想配列を取得し、floatの数値を返す



echo "
"; print_r(gettimeofday()); echo "
";
//現在の時刻の連想配列
echo gettimeofday(TRUE);
//float値
/* 関数
mixed gettimeofday( [ bool return_float ] )
//現在の時刻を連想配列で得る
return_float … TRUE を指定すると float の数値を返す
*/


(39)-+100~-+999までの数字を5列3行に整形して表示する。


$i=0;

while($i<3){
$n=0;
while($n < 5){
//whileの中にwhile
$minus = rand(0,1);
//0か1を代入。これを「-」と「+」に置き換える
if($minus == 0){
$minus = "-";
} else {
$minus = "+";
}

echo $minus;
$random[$i] = rand(100,999)." ";
echo $random[$i];
$n++;
}
echo "
";
$i++;
}


(40)「  布団がふっとんだ  」のバイト数と文字数を求め…



手順
------------------------------------------------------
1.「  布団がふっとんだ  」のバイト数と文字数を求める
2.substr()を使って「ふっとんだ」を取り出す
3.「ふっとんだ」と空白を削除
4.「布」と「団」の間に「でできた」を追加
-------------------------------------------------------
$string = "  布団がふっとんだ  ";

echo strlen($string)."
";
//1(バイト数) … 24バイト
echo mb_strlen($string,"EUC-JP")."
";
//1(文字数) … 12文字

echo substr($string,10,10)."
";
//2(「ふっとんだ」取り出し)

$old = array(" ","がふっとんだ");
//空白に置換するキーワード
$string = str_replace($old,"",$string);
echo $string."
";
//3(「がふっとんだ」と空白を削除) … 「布団」

$string = str_replace("布団","布でできた団",$string);
echo $string."
";
//4(「布」と「団」の間に「でできた」を追加) … 「布でできた団」
ブックオフで『そろばん入門』て本が100円で売ってたので買ってきた。
本を開いてみると、4桁~5桁の問題がいっぱい!
問題を自作する手間が省けてらっきーw

んでさっそくやってみたが、
5桁はともかく4桁はなんとかいけそうだた。

そろばんをイメージするのって難しいけど、瞑想からトレーニング変えて正解だったな。
やっぱ俺はなんか1級とか段とか4桁とか具体的な目標があったほうがやる気出るタイプらしい。

イメストやオレンジなどの瞑想系や瞬間記憶でも、もちろんイメージ力はつくと思うが、
いかんせん抽象的で効果が見えにくいんだよね。

そろばんも集中してイメージするだけだから、瞑想系といえばそうなるんだけどね。

要するにイメージ力つけたいなら、
イメストでもオレンジでも瞑想でも瞬間記憶でも
なんでもOKなんじゃね?

ってことが一番言いたかった。
21~30問 PHPの特訓

(21)フォームを使って別のページに値を送る


[test.php]
<html><body>
<form action="test2.php" method="get">
<input type="text" name="word">
<input type="submit" value="検索">
</form>
</body></html>


[test2.php]
if ($_GET["word"]){
echo htmlspecialchars($_GET["word"])."で検索した結果";
} else {
echo "キーワードを入力してください";
}


(22)(21)のフォームではアドレス欄に値が表示されてしまいます。これを消すにはどうすればよいですか?


methodを「GET」ではなく「POST」、「$_GET」を「$_POST」に変更する


(23)キーワードを入力すると別のページに飛び、「戻る」キーワードもしくはキーワードが空の場合は元のページに戻す仕組みを作る



[test.php]
<?php 
session_start();

if($_SESSION["word"] == "戻る"){
echo "戻りました";

}

if(isset($_POST["word"])){
$word = $_POST["word"];
$_SESSION["word"] = $word;
header("Location: http://localhost/test2.php");
exit;
}
?>

<html>
<body>
<form action="test.php" method="post">
<input type="text" name="word">
<input type="submit" value="検索">
</form>
</body>
</html>


[test2.php]
session_start(); 

echo $_SESSION["word"]."の検索結果";

if($_SESSION["word"] == "戻る"){
header("Location: http://localhost/test.php");
}


(24)エンコードを設定する


header("content-type: text/html; charset=EUC-JP");


(25)txtファイルに文字を書き込む


$filename = "C:\\apapapache\\htdocs\\sample.txt";
//ファイル名
$string = "いちじゅうひゃくせんまんおくちょうけいがいしじょうこうかんせいさいごく";
//文字列

$handle = fopen($filename,"w");
//fopen() : ファイル開く
fwrite($handle,$string);
//fwrite() : ファイル書きこみ
fclose($handle);
//fclose() : ファイル閉じる

/* 関数
fopen(string $filename,string $mode)
fwrite(resource $handle , string $string)
fclose(resource $handle)
*/


(26)ファイルの中身を読む


$filename = "C:\\apapapache\\htdocs\\sample.txt";
//ファイル名


$handle = fopen($filename,"rb");
//ハンドル
$contents = fread($handle,filesize($filename));
//ファイル読む
fclose($handle);
//ファイル閉じる


echo $contents;


/* 関数
fread(string $handle,int $length)
…ファイルを読み込む。
(handle が指すファイルポインタから最高 length バイト読み込みます。)
Windowsの場合バイナリとテキストの形式が違うため、
fopenのモードパラメータに"b"を指定する
int filesize(string $filename)
…指定したファイルのサイズを取得。


(27)文字を次の3つにそれぞれフォーマットする。
「文字列を空白で右詰め」「整数を空白で左詰め」「整数を0で右詰め」


printf("[%10s]\n",    "abcde");
printf("[%-10d]\n", 23 );
printf("[%010d]\n", 4343 );

/* 関数
string sprintf(string $format [, mixed $args [, mixed $... ]])
…フォーマット文字列 format に基づき生成された文字列を返します。
パーセント記号 (%) の後に これらの要素が一つ以上続いたものが変換指定子。
*/


(28)以下に指定したキーワードを、まとめて置換する。また、置換した回数も表示する


指定ワード
-------------------------
「ブルドッグ」   →  「キューピー」
「カバ」       →  「ピラニア」
「雷神」      →  「八岐大蛇」
「ばいきんまん」 →  「バイキン仙人」
--------------------------------
検索文章
-----------------------------
ブルドッグのおじさん。怖い顔をしていて、怒ると大声を出すが、心は優しい。
カバの男の子。食いしん坊である。よくアンパンマンの顔を食べる。
かみなりぴかたんの父親の雷神。
ばいきんまんより先にこの星に来た仙人で魔法使い。
-------------------------------
$contents ="ブルドッグのおじさん。怖い顔をしていて、怒ると大声を出すが、心は優しい。
カバの男の子。食いしん坊である。よくアンパンマンの顔を食べる。
かみなりぴかたんの父親の雷神。
ばいきんまんより先にこの星に来た仙人で魔法使い。";

$search = array("ブルドッグ","カバ","雷神","ばいきんまん");
$replace = array("キューピー","ピラニア","八岐大蛇","バイキン仙人");

$contents = str_replace($search,$replace,$contents,$count);

echo $contents;
echo "
".$count;

/* 関数
mixed str_replace ( mixed $search , mixed $replace , mixed $subject [, int &$count ] )
//文字列を置換する。
$search … 検索ワード
$replace … 置換ワード
$subject … 検索する文章
&$count … 置換が行われた回数
*/


(29)「:」で文字列を分割する。


分割する文字列
-------------------
冠詞:副詞:前置詞:動詞:準動詞
-------------------

「方法その1」
$string = "冠詞:副詞:前置詞:動詞:準動詞";
//文字列
$pieces = explode(":",$string);
//「:」で分割

$i = 0;

while($i < count($pieces)){
echo $pieces[$i]."
";
$i++;
}

/* 関数
array explode ( string $delimiter , string $string [, int $limit=-1 ] )
//文字列の配列を返します。
$delimiter … 区切り文字
$limit   … 配列に返される要素数のリミット。
最後の要素に、 string の残りの部分が全て含まれる。
limitパラメータが負 … 最後の -limit 個の要素を除く全ての構成要素が返される。
*/


「方法その2」
$string = "冠詞:副詞:前置詞:動詞:準動詞";
//文字列
list($one[],$one[],$one[],$one[],$one[]) = explode(":",$string);

echo $one[0];
echo $one[2];

/* 関数
void list ( mixed $varname [, mixed $... ] )
//変数に値を代入
*/


(30)1行ずつURLが記述されたtxtファイルを読み込み、リンク付きURLを画面に出力する。


読み込むファイル[sample.txt]
-----------------------------------
http://plaza.rakuten.co.jp/quitada/diary/200410210000/
http://www.seo-association.com/
http://gogoru.seesaa.net/
http://www.flickr.com/photos/goggoru/
http://www.de4u.net/mt/archives/001072.html
http://yaplog.jp/matsu-you/archive/157
http://d.hatena.ne.jp/TomCat/
http://www.cre.ne.jp/writing/event/2004/goggole.html
http://ijigen.exblog.jp/804846
http://kokogiko.net/m/archives/000632.html
---------------------------------
$filename = ("C:\\apapapache\\htdocs\\sample.txt");
//ファイル
$handle = fopen($filename,"rb");
//ハンドル

$i = 0;
$link = array("a");
//配列を宣言
//理由1:宣言する方法がわからないので"a"を入れた
//理由2:while文内で宣言した場合ローカル変数になるかもしれないので

while(!feof($handle)){
//ファイルに達するまでループ

$link[$i] = fgets($handle);
//配列にそれぞれのURLを代入
echo "".$link[$i]."
";
//リンク付きでURLを表示
$i++;
}

fclose($handle);


/* 関数
string fgets ( resource $handle [, int $length ] )
//ファイルポインタから一行取得
$length … 取得するバイト数
bool feof ( resource $handle )
//ファイルポインタがファイル終端に達しているかを調べる
*/
(11)NULLを表示する

$nurupo = NULL;
$pooooo = "";

if($nurupo == NULL){
echo '$nurupoはNULLです
';
}

if($pooooo == NULL){
echo '$pooooはNULLです';
}



(12)現在の日付(年月日)と時間(何時何分何秒)を表示する。

echo date("日付:Y年m月d日 時間:H時i分s秒");



(13)switch文を使いおみくじ(のようなもの)を作る。
(「吉です」「凶です」などとランダムに文字を表示する)

$random = rand(0,3);
switch ($random) {
case 0:
echo "おめでとう!大吉です!";
break;
case 1:
echo "中吉です。まあまあですね";
break;
case 2:
echo "吉です。普通ですね";
break;
case 3:
echo "凶です。残念でした。";
break;



(14)配列を使って(13)を作る。

$random = rand(0,6);

$hairetu = array(
"21世紀のネコ型ロボット、「ドラえもん」",
"いつもドジばかりだが、やる時はやる「のび太」",
"お風呂が大好きな皆のヒロイン「しずかちゃん」",
"お金持ちで自慢話が多い「スネオ」",
"おまえのものは俺のもの。「ジャイアン」",
"お兄ちゃん思いの妹ロボット「ドラミちゃん」",
"何でもできる「出来すぎ君」"
);

echo $hairetu[$random];



(15)連想配列を作る

$renso = array(
"peach" => "桃",
"plum" => "梅",
"kuri" => "栗",
"rose" => "バラ",
);

echo $renso["rose"]."
";
echo $renso["plum"]."
";
echo $renso["peach"]."
";
echo $renso["kuri"]."
";



(16)URLから数字の引数を渡して、それを表示する

if (is_numeric($_GET["hikisu"]) == true) {
echo "渡された数字は ".htmlspecialchars($_GET["hikisu"])." です";
} else {
echo "数値ではない値が渡されました。";
}



(17)変数に値が入っているかを確認する

$sonzai = "値があります";

if (isset($sonzai)) {
echo "\$sonzaiには値があります";
}



(18)数字の「4.8」を切り捨て、「4.1」を切り上げ、「3.3」を四捨五入する

$num1 = 4.8;
$num2 = 4.1;
$num3 = 3.3;

echo "【変更前】
";
echo "\$num1 = ".$num1."
";
echo "\$num2 = ".$num2."
";
echo "\$num3 = ".$num3."

";

$num1 = floor($num1);
$num2 = ceil($num2);
$num3 = round($num3);

echo "【変更後】
";
echo "\$num1 = ".$num1." //切り捨て
";
echo "\$num2 = ".$num2." //切り上げ
";
echo "\$num3 = ".$num3." //四捨五入";



(19)foreachとはどんな命令ですか?また、$valueと$keyの変数について説明してください。
また、unset()で参照を解除する理由を書きなさい。

foreachは配列のデータをまとめて処理する命令。
$valueには、値が代入され、$keyには、キーが代入される。
foreach のループを終えた後でも、 $value は配列の最後の要素を参照したままとなっている。
次にforeachを使うときに配列が予期しない値を参照してしまうので、
unset()で参照を解除しなければならない。



(20)foreachを使って配列の中身を「キー:値」と整形して表示する
$vacant = array(
"赤" => "チューリップ",
"白" => "スズラン",
"黄色" => "ヒマワリ",
"オレンジ" => "しらんがな",
"紫" => "アジサイ",
);

foreach ($vacant as $key => $value) {
echo $key." : ".$value."

";
}

unset($value);
立ちこぎのしすぎで少し痛くなったので調べた

【サドルの高さ】
サドルに乗った時に足を伸ばしてつま先がつくくらいまで高くするとこぎやすい。

【ペダルのこぎ方】
回すようにこぐ。
立ちこぎは膝に負担がかかるのでNG。

今度から気をつけよう。
http://gigazine.net/index.php?/news/comments/20090318_iq_176_boy/

IQ176あれば記憶できるんだな?
これは良い情報だ。
俄然やる気出てきたね。
脳トレについて最近書いてないので。
スターとチクりんはめんどうなのでやってませんが、ソロバンは順調です。
(スターは79380 level9、チクりんは28.02で放置してます)

1から足していくのではなく、『珠算検定試験練習問題集(7級)』という本を買って、
見取り算というのを暗算で解いていくトレーニングに変更しました。

なぜ無料でフラッシュ暗算のゲームがあるのにそっちをやらないのか?
フラッシュ暗算は、数字が一定の速度で光って消えるので、自分のペースで計算できません。
つまり、今の私にとっては、レベルが高すぎて訓練にならないのです。

さて、見取り算の話に戻ります。
7級では、見取り算は3桁までの足し算と引き算を5回行うというレベルになっています。
最初は10ページ分やるのに1時間もかかってましたが、最近は22ページ/1時間くらいの速さになりました。

もう少し速くなったら4桁の足し算・引き算に挑戦しようと思います。
ていうか、ソロバン5段になるには何桁くらい暗算できればいいんだろう。。
ネットで調べてみたんでだけど、そこら辺のことが載ってないのでちょっと困りました。。

とりあえず5段くらいになるまで毎日暗算やります。
頑張ります。
PHPを早くマスターするためのトレーニングメニュー。
手を動かして一気に覚える。

(1)「こんにちは」と表示する

echo "こんにちは";



(2)変数 n に 100 を代入。その変数を使って「目指せ 100 歳!」と表示する

$n = 100;
echo "目指せ $n 歳!";



(3)変数の値を表示するのではなく、変数名を表示するように書き換える

$n = 100;
echo '目指せ $n 歳!';



(4)文字列「PHPってプログラミング言語?」をwhile文、for文でそれぞれ5回表示する

$n = "PHPってプログラミング言語?";
$i = 1;

while ($i <= 5) {
echo $n."
";
$i++;
}

for ($i=1; $i <= 5; $i++) {
echo $n."
";
}



(5)数値が代入された、変数 com1 と変数 com2 の2つを比較して、「com1>com2」、「com1<com2」、「com1=com2」と値によって分岐して表示する

$com1 = 100;
$com2 = 100;

if($com1 > $com2) {
echo "com1>com2";
} else if($com1 < $com2) {
echo "com1<com2";
} else {
echo "com1=com2";
}



(6)if~else文を使わずに条件分岐する(条件や値はなんでもよい)

$myuuuu = (10 == 10) ? "TRUE" : "FALSE";
$fsda = (10 > 20) ? "10 > 20です" : "10 > 20 ではありません";

echo $myuuuu."
";
echo $fsda;



(7)ジャンケンゲーム

$janken = rand(0,2);

if ($janken == 0) {
echo "グー";
} else if ($janken == 1) {
echo "チョキ";
} else {
echo "パー";
}



(8)定数を2つ作り表示する

define(ITIBAN,"定数");
define(NIBAN,"定数2");
echo ITIBAN."
";
echo NIBAN;



(9)「月」「火」「水」…「日」までの配列を作成し、全て表示する

$y = array(
"日曜日"
,"月曜日"
,"火曜日"
,"水曜日"
,"木曜日"
,"金曜日"
,"土曜日"
);

for ($i=0; $i < count($y); $i++) {
echo "{$y[$i]}です
";
}



(10)「メソッドAが実行されました」と表示するメソッドを含むオブジェクトを作成する

class moo {
function methodA() {
echo "メソッドAを実行します";
}
}

$mos = new moo;
$mos->methodA();

【MySQLのダウンロード】

ダウンロードは以下のサイトで。
http://dev.mysql.com/downloads/

(1)mysql-essential-xxx.x.xx-win32.msiをダウンロード ※最新バージョンをDLしてください。

【MySQLのインストール】

(1)Setup Type → Typical のままでOKです。

(2)インストールを開始します。

(3)インストールが終わると"Configure MySQL Server now"が表示されるので、そのチェックを外してインストールを終了します。
※理由 → Vistaの場合コンフィギュレーションってのが正常に行われないため。XPの場合はチェックしてOK。

【Configurationの実行】

(1)Configurationを実行します。
[スタート]-[MySQL]-[MySQL Server x.x]-[MySQL Server Instance Config Wizard]

(2)Configuration Typeを選びます。どっちを選んでもOKな気がするので、今回はStandardを選ぶことにします。
※詳細に設定したい場合にはDetailedを選択するようです。
(Standardは初心者向け、Detailedは上級者向けってことですかね?)

(3)Windowsのサービスに追加します。
[3-1] Install As Windows Service と Launch the MySQL Server Automatically にチェックが入っていることを確認します。
※理由 → Windowsを起動すると自動的にMySWLが起動してくれるので

[3-2] Include Bin Directory in Windows PATH にチェックを付けます。
※理由 → わかりませんが、便利らしいので

[3-3] プルダウンメニューの Service Name を自分のMySQLのバージョンに設定します。
(今回のバージョンは5.1なのでメニューからMySQL51を選択しました) 

(4)セキュリティ対策のため、管理者パスワードを追加します。
Modify Security Settingsに好きなパスワードを設定してください。

(5)これで設定の準備ができました。Executeボタンを押して設定を開始します。

【バグ?】
configurationのService Name を自分のMySQLのバージョンに設定がMYSQL51にしたのになぜか
上手くいかなかった。他のバージョンでも試したがダメだったので、仕方なくサービス登録のチェックを外したところ、設定を完了することができました。

【動作確認】

(1)[Program Files]-[MySQL]-[MySQL Server 5.1]-[bin] にフォルダ内にある MySQL Command Line Client を実行してMySQLを起動します。

(2)MySQL では、インストール時にテスト用のデータベース test が作成されています。これに接続してみます。
[2-1] コマンドプロンプトに mysql test と入力し、実行します。
[2-2] データベース test に接続できれば以下のような文字列が表示されます。

Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.1.34-community MySQL Community Server (GPL)

(3)MySQLを終了します。
[3-1] コマンドプロンプトに \q と入力し、MySQLを終了します。

(4)MySQLの動作確認は以上で終了となります。ここまで見てくださってお疲れ様でした。
なぜ動くのか全く理解してませんが、ApacheとPHPをくっつけることに成功しました。
とりあえずメモっときます。

※この方法はPHPを動作させることができない初心者向けのものです。
PHPを動作させることはできますが、最善の方法ではありません。
不具合が発生するかもしれませんが、そこんところは自己責任でお願いします。

【PHPのインストール】
(1)どっかでインストールします。保存フォルダはCドライブ直下にして、フォルダ名は php とします。
※Apacheのフォルダ名は apache とします。

【PHPの設定】

(1)php5ts.dllとphp5apache2_2.dllをSystem32へコピーします。
どちらか1つコピーすればいいような気もしますが、後でチェックするのが面倒なので両方書いておきます。

※Apache2.xの場合は、環境変数を使う方法もありますが、再起動するのがまたまた面倒なのでこちらの方法を採用します。

(2)phpフォルダ内の php.ini-dist ファイルを php.ini と拡張子を変更して、phpフォルダ内ではなく、Cドライブ直下に保存します。( PHPIniDir が記述されて無い場合に php.ini を最後に探すのがCドライブらしい)

※ PHPIniDir "【php.iniのあるディレクトリを指定】" というのをApacheのhttpd.confファイルに記述すれば php.ini ファイルをCドライブ直下に保存する必要はありませんが、面倒なのでC直下にします。


【Apacheのhttpd.confファイルを編集】
PHPとドッキングするために編集しなければならないようです。
Apacheのconfフォルダ内にある httpd.conf ファイルをテキストで開いてください。

(1)PHPをモジュールとしてApacheに登録します。
LoadModule php5_module "C:/php/php5apache2_2.dll"をhttpd.confファイルの好きな場所に追加します。
(で、モジュールって何ですか??)

(2)別の拡張子に対するMIMEタイプを追加で登録します。
AddType application/x-httpd-php .php

(で、MIMEタイプって何ですか??)

(3)php.iniのある場所を指定します。
PHPIniDir "【php.iniのあるディレクトリを指定】"

※まあ、Cドライブ直下にコピってあるから指定する必要ないんですけど、一応書いとく?

【php.iniの編集】
php.iniをテキストで編集します。

(1)ドキュメントルートをApacheのhtdocsフォルダに設定します。
doc_root = "C:\apache\htdocs"

(で、ドキュメントルートって何ですか?)

(2)拡張モジュールのディレクトリを指定します。
extension_dir = "c:\php\ext"

(これも意味不明。設定しなかったらどうなんの?)

(3) ;extension=php_mbstring.dll のコメントを外します。
extension=php_mbstring.dll

(4) output_buffering を Off に設定します。
output_buffering = Off

※出力バッファリングを無効にします。出力バッファリングとはいったん出力する内容を貯めておいてから一気に出力するってことですたぶん。
チャットとかすぐに反映されるのは出力バッファではないですたぶん。

(5) default_charset をコメントアウトします。
;default_charset = EUC-JP

※デフォルトの文字コードのことではなく、出力時にHTTPヘッダとして送信する文字コード名のことだそうです。default_charset が有効になっていると、メールとかやるときに困るらしいです。

(6) mbstring.language に Japanese を設定します(デフォルト)
mbstring.language = Japanese

※ mbstring の言語を設定します。

(7) mbstring.encoding_translation を off に設定します。
mbstring.encoding_translation = off

※入力されるHTTPクエリを内部文字コードへの自動変換を行うかどうかを設定します。
自動変換されると文字化けの原因になるので off に変更します。

(8) mbstring.http_input に pass を設定します。
mbstring.http_input = pass

※HTTPの入力文字コードを設定します。何でかわかりませんがpassにします。

(9) mbstring.http_output に pass を設定します。
mbstring.http_output = pass

※HTTPの出力文字コードを設定します。何でかわかりませんがpassにします。

(10) mbstring.internal_encoding に EUC-JP を設定します。
mbstring.internal_encoding = EUC-JP

※mbstringの内部文字コードを設定します。

(11) mbstring.substitute_character に  none を設定します。
mbstring.substitute_character = none

(12) mbstring.detect_order に SJIS,EUC-JP,JIS,UTF-8,ASCII と複数のユニコードを設定します。
mbstring.detect_order = SJIS,EUC-JP,JIS,UTF-8,ASCII

※文字コードを読み取る順番を設定します。あまり使わないであろう ASCII を後ろに追いやるのがポイント

(13) output_handler に mb_output_handler を設定します。
output_handler = mb_output_handler

※よくわかりません

(14)MySQLを使用できるようにします。
 extension= の項目の mysql と文字の入った行のコメントを全て外してください。

extension=php_mysql.dll
extension=php_mysql.dll
extension=php_pdo_mysql.dll

【動作テスト】

(1)動作しているかどうか確認のために、Apacheのhtdocsフォルダ内にphpファイルを作成します。
phpファイル内には、以下のように、phpの情報を表示するタグを書きます。
<?php phpinfo(); ?>

(2)ブラウザに、「http://【php名】.php」と記述してアクセスします。
phpが正常に動作していればphpの情報が表示されます。
※もちろんApacheをオンにしないと表示されないので注意!

・・・これで動作するはずです。皆さん長い時間お疲れ様でした。

主な参考ページ
http://hain.jp/index.php/tech-j/2007/02/13/p125
http://www.asahi-net.or.jp/~wv7y-kmr/memo/php_mbstring.html#php_ini
http://www.aconus.com/~oyaji/www/apache_win_php.htm
全く関係ないけど今日虫歯の親知らず抜きました。
麻酔は5分。ペンチは5秒で早い!代金は2000円で安い!
私は健康にはかなり気をつかっているのですが、虫歯の方は勝手に虫歯にならない体質だと勘違いしていてノーマーク。この一週間必死で痛みの対策を練ったおかげで、虫歯、歯周病、顎関節症、矯正、歯医者の選び方、整体、つまようじ法、ウーロン茶、日本の歯科の現状、などの知識が増えました。
よし!これからPHPやるぞ。

P.S 代金は保険ならどこも同じかww
とりあえずPHPやりたくなったので、テスト環境作るためにApacheインストールしたんですが、かなり大変でした。
教えてgooとかApacheメーリングリストとかに質問しまくって皆さんに迷惑をかけつつもなんとか解決できました。
ただ、パソコンのシステムとかサーバ関係に少し詳しくないと解らないような問題だったので、忘れないためにもメモっときます。

[準備]
1.UACを無効にする
コントロールパネル-システム辺りから無効にできます
2.ウイルス対策ソフトをオフにする。
一応オフっといてもいいです
3・ポート80番をチェック(skype使ってる人は要注意)
よくわからんが、コマンドプロンプトに 「netstat -a -o」 と入力して、そこに表示されるPIDってのを見ればいいらしいです。※方法が間違ってるかもしれないので注意
4.localhostが127.0.0.1を返すかチェック(重要)
なんかよくわからんけどhttp://localhost=127.0.0.1に設定しないと接続できないらしいです。
Vistaの場合セキュリティソフト?のdefenderの不具合かなんかで127.0.0.1の記述を勝手に削除されてしまうようなので、これを修正します。
まずはコマンドプロンプトを使ってlocalhostが127.0.0.1に設定されているかどうかをチェックします。
コマンドプロンプトにピングを飛ばします。「ping localhost」
●●からの応答:時間 < 1ms の●●が127.0.0.1と表示されていれば問題ないようです。
もし、::1からの応答:時間 < 1msと「::1」が表示されていた場合は127.0.0.1が設定されていない可能性があります。そこで、Windows/System32/drivers/etc/hosts のhostsファイルをテキストで開いて編集します。(System32内を編集するのは危険らしいので、くれぐれも自己責任でお願いします)
一番下に「::1 localhost」という記述があるかと思いますのでその辺りに「127.0.0.1 localhost」と追加して保存してください。これでhostsファイルの編集は終わり。これでたぶん動くはずです。

[インストール]
あとは以下のページに書いてあるからそっちみればOKです!
http://www.hidekik.com/adminpage/dmb.cgi?mode=viewthread&id=171

あとPHPとMYSQLとApacheのconfを設定すれば年賀んのPHPが使えるぞ~わくわく。
2ちゃんねるの掲示板でこんなの発見
【イギリス】2歳の女の子、IQ156を記録してメンサに入会[4/30]

(ロンドン)メンサに最も若い…2才の女の子のエリーズちゃんが加わりました。
彼女はIQテストで156を記録しています。

エリーズちゃんは生後5ヵ月で話をし、8ヶ月には歩き、10ヶ月には走り始めました。
そして14ヵ月までに10まで数えることができ、現在は世界の首都の名前を記憶しています。

最初から156ってチートw
それだけあれば一度見たり聞いたりすればなんでも覚えられるのだろうなあ。羨ましい。
自分もエリーズちゃんに負けずに頑張ってトレーニングして今よりももっと頭良くなるように頑張っていきたいです。
記憶力はもちろんですが、推理・抽象思考も並行して上げていけるようにします。
何でもできるバランスタイプが理想ですね。

そんなわけで、エリーズちゃんに触発されて久々にhttp://www.unnmei.com/iq.html のテストやってみたわけですが、結果は3%で嬉しいことに前回よりも10程上がっていました。
実感はありませんが段々とトレーニングの成果は出てきているのでしょうか。
(dkの方は半年前にやったばかりなのでスルー)

まあ自分としては変なパズルより、人生においてより役に立ちそうな記憶力を上げたいのですが。
記憶力アップの近道は、ソロバンの玉が見えるようになることだと自分は思っているので、早くなんとか達成したいです。
要するに、ソロバンの玉が見える=抽象イメージ力がアップする
。。と仮定しているわけです

ちなみに大体ソロバン5段くらいになるとハッキリ見えるようになるらしいですね!
自分はまだ3桁の計算がやっとで全くイメージできません。
あ~子供の頃にやっておくんだった!
| ホーム |

カレンダー

04 | 2009/05 | 06
- - - - - 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
31 - - - - - -

最近の記事

月別アーカイブ

タグリスト

ブログ内検索

カテゴリー

RSSフィード

リンク

ブロとも申請フォーム

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