PHPのおさらい1 基礎知識〜class

<!DOCTYPE html>
<?php
echo "html外から表示<br>";
//定数
define("MAIL","aaa@yahoo.co.jp");
echo MAIL."<br>";

//自動的に定義される定数
echo __LINE__."<br>";
echo __FILE__."<br>";
echo __DIR__."<br>";

//べき乗演算  **がphp5.6〜使えるらしい
$x=pow("2", 3);
echo ($x+=2)."<br>";

//文字列について シングルクォートとダブルクォート.
//ダブルクォート内の変数の扱いについて
$str="蜜柑";
echo "好きなものは$str<br>";
echo "好きなものは${str}<br>";
echo "好きな\r\nものは{$str}<br>";//←\r\nはソース上の改行
echo '好きなものは{$str}<br>';

//真偽値
/*
falseになる場合
文字列 :空、"0"
数値:0、0.0
論理値:false
配列:要素の数が0
null
*/
$num=3;
if($num){
	echo "数値が0で無いのでtrueと判定されます<br>";
}


//三項演算子
$a=5;
$b=3;
$x=($a > $b) ? $a : $b;
echo $x."<br>";

//下記び記述と同等の意味になります。
if($a > $b){
	echo $a."<br>";
}else{
	echo $b."<br>";
}

/*for文
break ループを抜ける
continue それ以降の処理を実行せずに次のループに移る
*/
for($i=0; $i<10; $i++){
	if($i===3){
		continue;
	}
	
	if($i==8){
		break;
	}
	echo $i;	
}
echo "<br>3は処理されず、7までのループで終了します<br>";
/*switch文*/
$city= '新宿';

switch ($city){
case '浦和':
  echo "浦和<br>";
  break;
case '新宿':
case '横浜':
  echo "新宿はbreak文が無いため、横浜と同じ処理がされます<br>";
  break;
default:
  echo "デフォルト値<br>";
}


/*--------------------------------
//配列:
//------------------------------*/

//keyとvalueがペアになったデータ構造
$clothes_drawer =array(
	"hat" =>2,
	"longsleeves" =>5,
	"shortsleeves" =>7,
	"pants" =>3,
);

//PHP5.4以降
$cupdoard =[
	"pumps" =>"3足",
	"boot" =>"2",
	"sports_shoes" =>"1",
];
echo $clothes_drawer ["longsleeves"]."<br>"; //keyを指定し値の5が表示される
echo $cupdoard ["pumps"]."<br>"; 	//3足が表示される

//keyを省略した場合 0からの連番で呼び出す
$outfit=["gloves","muffler","socks"];
echo $outfit[1]."<br>"; 

/*-----------------------------------
//foreach 配列の内容を取りだす
-----------------------------------*/
//値とkeyがペアの場合
foreach($clothes_drawer as $key => $value){
	echo ($key)."は、 $value";
}
//値だけの場合
echo "<br>値だけの場合";
foreach($outfit as $value){
	echo "$value";
}
//コロン構文 while、for、if、foreachで使える
foreach($clothes_drawer as $value) :
	echo "$value";
endforeach;
?>

<html lang="ja">
<body>
	<p>Hello world <?php echo "from PHP" ?></p>
	
	<p>コロン構文はhtmlに埋め込む時にすっきりかける</p>
	<ul>
		<?php  foreach($cupdoard as $key => $value) : ?>
		<li><?php echo $value; ?></li>
		<?php  endforeach; ?>
	</ul>
</body>
</html>

<?php
//functionの引数に初期値を与える。※呼び出し元に引数が無かった場合に使用される
 function reply($response_content ="春"){
	 echo "季節は".$response_content."<br>";
 }
 
 reply('夏');
 reply('秋');
 reply();
 
 //組込関数
 $x=7.9;
 echo ceil($x)."<br>";   //小数点の切り上げ
 echo floor($x)."<br>";  //小数点の切り捨て
 echo round($x)."<br>"; //小数点の四捨五入
 echo rand(1,5)."<br>";  //1〜5のランダムな数
 
 $str1="bowwow";
 $str2="犬の鳴き声";
 echo "文字のカウント:".strlen($str1)."<br>"; //文字数のカウント
 echo "2バイト:".mb_strlen($str2)."<br>"; //日本語2バイト文字のカウント
 
 
$writing_brush=['hard','moderate','soft'];
echo count($writing_brush)."<br>"; //配列の要素数
echo implode("|",$writing_brush)."<br>";//『|』で文字列を繋げて表示

/*---------------------
class
---------------------*/
/*
<class> データ構造。変数や関数をまとめる
property    クラスが持つ変数
method     クラスが持つ関数
constructor  クラスがインストラクタされる時に必ず呼ばれるメソッド

<instance> クラスを元に実際にデータを持たせたもの
rosterクラスを元に生徒のインスタンスを作った例。newを使用する。
$student1 = new roster("student1");
$student2 = new roster("student2");

例)
*/
//※クラスの1文字目は大文字にする
class Roster{
	public $name; //変数(プロパティ)	
	public function __construct($name){//コンストラクタ 引数はインスタンスを作る時に渡される名前
		$this->name =$name;
		//(このクラスの中のプロパティに値をセットする)
	}
	public function hallow(){//関数(メソッド)
		echo $this->name."さん<br>";
	}
}

$ichiro =new Roster('ichiro');
$jiro=new Roster('jiro');

echo $ichiro->name."<br>";  //名前を表示 クラスにアクセス
$jiro->hallow();//名前を呼ぶ。 

/////////////////////////////////
表示結果 ↓↓↓

html外から表示
aaa@yahoo.co.jp
9
H:\xampp\index.php
H:\xampp
10
好きなものは蜜柑
好きなものは蜜柑
好きな ものは蜜柑
好きなものは{$str}
数値が0で無いのでtrueと判定されます
5
5
0124567
3は処理されず、7までのループで終了します
新宿はbreak文が無いため、横浜と同じ処理がされます
5
3足
muffler
hatは、 2longsleevesは、 5shortsleevesは、 7pantsは、 3
値だけの場合glovesmufflersocks2573
Hello world from PHP

コロン構文はhtmlに埋め込む時にすっきりかける

3足
2
1
季節は夏
季節は秋
季節は春
8
7
8
3
文字のカウント:6
2バイト:5
3
hard|moderate|soft
ichiro
jiroさん