PHPコードの基本まとめ

PHP


PHPの基本のメモ用です。

# ホームディレクトリに移動
cd

# 今後複数の仮想マシンを作ることを想定して、それらをまとめるフォルダ(MyVagrant)を作る
mkdir MyVagrant

# MyVagrantに移動
cd MyVagrant

# 仮想マシンを作るフォルダを作る(MyCentOS)
mkdir MyCentOS

# MyCentOSに移動
cd MyCentOS

# 仮想マシン設定用のVagrantfileを作る
vagrant init bento/centos-6.8

# Vagrantfileを編集して仮想マシンのIPアドレスを192.168.33.10にする
sed -i '' -e 's/# config.vm.network "private_network", ip: "192.168.33.10"/config.vm.network "private_network", ip: "192.168.33.10"/' Vagrantfile

# 仮想マシンを起動(少し時間かかる)
vagrant up

# 仮想マシンの状態確認
vagrant status

# OSを最新状態にアップデート(時間かかる)
sudo yum -y update

# スクリプトを入手するためのgitをインストール
sudo yum -y install git

# gitを使ってアプリケーション設定用のスクリプトをダウンロード
git clone https://github.com/dotinstallres/centos6.git

# centos6フォルダができるのでそちらに移動
cd centos6

# スクリプトを実行(時間かかる)
./run.sh

# もろもろの設定を反映
exec $SHELL -l

# IPアドレス調べる
ip a

変数

# データ型
$msg = "メッセージを入力"

# 表示させる
echo $msg;

# データの型を調べる
var_dump($msg);

定数: 変更されない値につけるラベル
(定数名は全て大文字を使う。 $は不要)

define("MY_EMAIL", "メールアドレス");

# 行数を調べる
ver_dump(__LINE__);

# ファイル名を調べる
ver_dump(__FILE__);

# ディレクトリ名を調べる
ver_dump(__DIR__);

数値型の演算 + - * / % **

# たす
+

# 引く
-

# かける
*

# 割る
/

# 余り
%

# 乗数
**

$x = 10 % 3;

単数演算子 ++ --

# 1たす
++

# 1引く
--

代入を伴う演算子

# $x = $x + 2;を別の書き方
$x += 2;

文字列

# 特殊文字(\n, \t) 変数(改行, タブ)
""

# 特殊文字が使えない
''

# 文字の連結
$s = "文字列" . "文字列"

# if 条件分岐
if($score > 80){
 echo "great!";
}elseif($score > 80){
 echo "good";
}else{
 echo "so so...";
}

# 比較演算子
> < >= <= ==(値が等しい) ===(型も含めて等しい) !=(値が等しくない) !==(型も含めて等しくない)

# 論理演算子 and && , or || , not !

# 真偽値 falseになる場合
文字列: 空、"0"
数値: 0、 0.0
論理値: false
配列: 要素の数が0
null

# switch 条件分岐

$singnal = "red";

switch ($signal){
 case "red":
  echo "stop!";
  break;
 case "yellow":
  echo "caution!";
  break;
 case "blue":
  echo "go!";
  break;
 default:
  echo "wrong signal" ;
  break
}

# ループ処理

while

$i = 0;
while($i < 10){
 echo $i;
  $i++;
}

do{
 echo $i;
 $i++;
}while($i < 0);

for

for($i = 0; $i < 10; $i++;){
 echo $i;
}

# ループを抜ける
break

# それ以降の処理を実行せずに次のループに移る

配列

$sales = array(
 "taguchi" => 200,
 "suzuki" => 800,
 "nishimura" => 900,
);

もしくは

$sales = [
 "taguchi" => 200,
 "suzuki" => 800,
 "nishimura" => 900,
];

名前をつけない場合は

$colors ["red", "blue", "yellow"];

foreach

$sales = [
 "taguchi" => 200,
 "suzuki" => 800,
 "nishimura" => 900,
];

foreach = ($sales as $key => $value){
 echo "($key) $value "
}

# 関数

function sayHi($name){
 echo "hi! " . $name;
}

sayHi("Jack");
sayHi("Ken");

初期値の設定

function sayHi($name = "koma"){
 echo "hi! " . $name;
}

sayHi("Jack");
sayHi("Ken");
sayHi();

# 小数点以下切り上げ
ceil($x);

# 小数点以下切り捨て
floor($x);

# 四捨五入
round($x);

# 乱数生成
rand(1, 10);

# 文字数を数える
strlen();

# マルチバイトの文字数を数える
mb_strlen();

配列

# 要素の数をカウント
count($colors);

# 配列の要素をある区切り文字で連結して文字列にして返す
implode("@", $colors)

クラスを作る

class User{
	// property
	public $name;

	//constructor
	public function __construct($name) {
	$this->name = $name;
	} 
  
	//method
	public function sayHi() {
		echo "hi, I am $this->name!";
	}
}

$tom = new User("Tom");
$bob = new User("Bob");

echo $tom->name;
$bob->sayHi();

# 例外処理

function div ($a, $b) {
	try {
		if ($b === 0) {
			throw new Exception("cannot divide by 0!");
		}
		echo $a / $b;
	} catch (Exception $c) {
		echo $c->getMessage();
	}
}

div(7, 2);
div(5, 0);


コメント