ねむ
昨日洗濯してたら寝るの2時過ぎになってしまいまして。。。
まぁやっと体力が回復してきたから、このぐらいどうって事ないデス。
5時間寝れれば十分です。
4時間だと限界への挑戦になって来ます。
3時勘だと覚醒します。

どうせバイトは猿でも出来る仕事だし。
ってか仕事じゃないし。
どれだけこの無駄な時間を無駄じゃなくするかがポイントです。

って、バイト先のPCで書いちゃう午前6時30分

21日また日帰りで茨城行きます(汗)
バイト終わったらそのまま上野か日暮里までいって常磐線乗って水戸だか勝田いってデートして×××して東京まで帰ってくる、そして朝まで睡魔と闘って昼寝て夜バイト、という過酷なスケジュール。

俺、あと何年生きられるのかな?

この前のアホになる電卓を改良したので公開

アホになる電卓 Ver. – 1.1

今回はソースにコメント付けた。
動作自体は前とほぼ一緒だけど、ソースはこっちの方が全然マシかと。
前のは最初ちょっと違う事やろうとしてて途中で変えていったから変なソースでした(笑)
まぁまだまだ酷いレベルですけど…

それじゃぁ、ソースを…

うぇうぇ


<html>
<head>
<title>アホになる電卓 Ver. - 1.1</title>
<meta http-equiv="Content-type" content="text/html; charset=Shift_JIS">
</head>
<body bgcolor="#000000" text="#008080" link="#ffa500" vlink="#ffaa00" alink="#008080">
<div align="center"><font size="2">
<h1>アホになる電卓</h1>
Ver. - 1.1
<hr>
<?php
/*------------------------------------------------------------------------------------+
** 基本的な変数を定義
+------------------------------------------------------------------------------------*/

// xの値を習得
if (isset($_POST["x"]) === false) {
	$x = ""; // 習得できなければ""を代入
} else {
	$x = $_POST["x"];
}

// yの値を習得
if (isset($_POST["y"]) === false) {
	$y = ""; // 習得できなければ""を代入
} else {
	$y = $_POST["y"];
}

// セレクトボックスのDefalt指定タグ
$select = " selected";

// 演算子を習得
$enzanshi = $_POST["enzanshi"];

// 選択された演算子をDefaltに
$enzanshi_select["$enzanshi"] = "$select";

// ○の付く数の値を習得
$tsuku = $_POST["tsuku"];

// 選択された数をDefaltに
$tsuku_select["$tsuku"] = "$select";

// ○の倍数の値をを習得
if (isset($_POST["baisu"]) === false) {
	$baisu = ""; // 習得できなければ""を代入
} else {
	$baisu = $_POST["baisu"];
}

/*------------------------------------------------------------------------------------+
** 電卓
+------------------------------------------------------------------------------------*/
// xとyの両方が""だった時、電卓と判定を実行
if ($x !== "" && $y !== "") {
	// 演算子別にパターン化
	switch ($enzanshi) {
		case 0:$ans = $x + $y;break; // 足し算
		case 1:$ans = $x - $y;break; // 引き算
		case 2:if($x == 0 || $y == 0){$ans=0;} // 掛け算
			else{$ans = $x * $y;}
			break;
		case 3:if($x == 0 || $y == 0){$ans=0;} // 割り算
			else{$ans = $x / $y;}
			break;
		case 4:if($x == 0 || $y == 0){$ans=0;} // 割り算のあまり
			else{$ans = $x % $y;}
			break;
	}

/*------------------------------------------------------------------------------------+
** アホになる判定
+------------------------------------------------------------------------------------*/
	//ボツ?
/*
	function hantei($str1, $str2) {
		return is_int(strpos($str1, $str2));
	}
*/
	// ○の付く数判定用関数を定義
	function hantei($str1, $str2) {
		if(strpos($str1, $str2) !== false) {
			return true; // 変数1に変数2が含まれていればTRUEを返す
		} else {
			return false; // 含まれていなければFALSEを返す
		}
	}

	// ○の付く数(左側)の判定を実行
	if ($tsuku != 10) {
		$left = hantei($ans, $tsuku); // ○の付く数の値が空でなければhantei関数を実行
	} else {
		$left = false; // 空ならFALSE
	}

	// ○の倍数(右側)の判定を実行
	if ($baisu !== "") {
		if ($baisu == 0) {
			if ($ans == 0) {
				$right = true; // ○の倍数の値が0且つ答えが0ならTRUE
			} else {
				$right = false; // ○の倍数の値が0で答えが0以外ならFALSE
			}
		} else {
			$right = is_int($ans/$baisu); // ○の倍数が0ならFALSE
		}
	} else {
		$right = false; // それ以外ならFALSE
	}
} else {
// xとyのいずれか、またはいずれも空だった場合、答えは?に、右も左もFALSEに
	$ans = "?";
	$left = false;
	$right = false;
}
/*------------------------------------------------------------------------------------+
** 最終処理
+------------------------------------------------------------------------------------*/
// 普通のナベ○ツの画像かアホのナベ○ツの画像を出力するかを判定する関数を定義
function nabeatsu($a){
	if ($a === true) {
		return '<img src="./aho.gif" alt="アホ" style="border: none;">'; // 変数1がTRUEならアホ
	} elseif ($a === false) {
		return '<img src="./n.gif" alt="普通" style="border: none;">'; // 変数1がFALSEなら普通
	}
}

$nabeatsu_L = nabeatsu($left); // 左側をnabeatsu関数で判定
$nabeatsu_R = nabeatsu($right); // 右側をnabeatsu関数で判定
$answer = $nabeatsu_L.$ans.$nabeatsu_R; // 最終的な答え
?>
<form method="POST" action="./index2.php">
<select name="tsuku">
<option value="10"<?php	echo $tsuku_select[10]; ?>></option>
<option value="0"<?php	echo $tsuku_select[0]; ?>>0</option>
<option value="1"<?php	echo $tsuku_select[1]; ?>>1</option>
<option value="2"<?php	echo $tsuku_select[2]; ?>>2</option>
<option value="3"<?php	echo $tsuku_select[3]; ?>>3</option>
<option value="4"<?php	echo $tsuku_select[4]; ?>>4</option>
<option value="5"<?php	echo $tsuku_select[5]; ?>>5</option>
<option value="6"<?php	echo $tsuku_select[6]; ?>>6</option>
<option value="7"<?php	echo $tsuku_select[7]; ?>>7</option>
<option value="8"<?php	echo $tsuku_select[8]; ?>>8</option>
<option value="9"<?php	echo $tsuku_select[9]; ?>>9</option>
</select>
の付く数の時左側が<br>
<input type="text" size="1" name="baisu" value="<?php	echo $baisu; ?>" istyle="4" format="N" MODE="numeric" style="ime-mode:disabled">
の倍数だった時右側が<br>
<h3>アホ</h3>になります。<br><br>
<input type="text" size="3" name="x" value="<?php	echo $x; ?>" istyle="4" format="N" MODE="numeric" style="ime-mode:disabled">
<select name="enzanshi">
<option value="0"<?php	echo $enzanshi_select[0]; ?>>+</option>
<option value="1"<?php	echo $enzanshi_select[1]; ?>>-</option>
<option value="2"<?php	echo $enzanshi_select[2]; ?>>×</option>
<option value="3"<?php	echo $enzanshi_select[3]; ?>>÷</option>
<option value="4"<?php	echo $enzanshi_select[4]; ?>>…</option>
</select>
<input type="text" size="3" name="y" value="<?php	echo $y; ?>" istyle="4" format="N" MODE="numeric" style="ime-mode:disabled">
 = <?php	echo $answer; ?><br>
<input type="submit" name="soushin" value="計算">
</form>
<hr>
by まきまき(<a href="http://gyaku.zombie.jp/">gyaku.zombie.jp</a>)
</font></div>
</body>
</html>

ってかhanteiって関数を定義したところでコメントアウトしてボツ?って書いてあるのがあると思うんだけど
これって結局どっちがいいのかな?
動作自体は一緒になるはずだから、あとはどっちが実行速度が早いかとかになると思うんだけど…。
個人的にはis_intと組み合わせたのが気に入ってるんだけど…絶対こっちの方が遅いよね(汗)
どっかで質問してみっかな。

PHPプログラマの良し悪しどれだけ関数を知っているかで決まる
なんてどっかで見ました。
確かに、大量にある関数を全部覚えるのはかなり困難だけど
既存の関数を自分で作る程効率の悪い事はないね(笑)

ってかPHP5.3.0で結構仕様が変わるんだねぇ…PHP6を意識してるとか。
?:って演算子が追加されるらしいんだけど、これが便利!

例えば

echo $a ?: $b;

ってしたら
$aがFALSEじゃなければ$aを出力
$aがFALSEなら$bを出力
ってものらしい。
結局、いままでだったら

echo ($a) ? $a : $b;

って書くのと一緒らしいデス。

うーん…オブジェクト指向がよく分からない…
っていうかまだまだ基礎から順を追って勉強して行くべきですよね。

No related posts.