PHP7の基礎文法|初心者向けの基本的な書き方

本日は、PHPの基本的な書き方を簡単にまとめてみました。
operator

オペレーター

こんにちは、ヨロと申します。

今回は「PHP」の基礎文法、基本的な書き方について、簡単にまとめてみました。

【PHP7 基礎・文法】初心者向けの基本的な書き方

文字出力 echo, print

<?php

echo "Hello World!!"; // Hello World!!

print "こんにちは"; // こんにちは

?>

変数(箱) – Variables

<?php

$hello = "こんにちは!";
$text = "久しぶりですね!";

echo $hello; // こんにちは!

echo "$hello たけしさん!"; // こんにちは! たけしさん!

echo $hello . "エミリー " . $text; // こんにちは!エミリー 久しぶりですね!

?>


<?php
$a = 5;
$b = 10;

echo $a + $b; // 15

?>


<?php
$color = "青";
$fruit = "りんご";

echo $color . $fruit; // 青りんご

?>

スコープ外(グローバルスコープ)

<?php

$number = 100; // 変数をここで定義:スコープ外(グローバルスコープ)

 
function aaa() { // この中がスコープ内。
    echo $number;
} 
aaa(); // スコープ内に何も値がないためエラー。

echo $number; // 100

?>

スコープ内(ローカルスコープ)

<?php

function bbb() {	
    $number = 200; // 変数をここで定義:スコープ内(ローカルスコープ)

    echo $number;
} 
bbb(); // 200

echo $number; // 変数がスコープ内に書かれていて、この命令はスコープの外に書かれているため、エラーが表示される。

?>

配列

<?php

$sushi = array ('まぐろ', 'うに', 'えんがわ'); // 配列

echo $sushi[0]; // まぐろ
echo $sushi[1]; // うに
echo $sushi[2]; // えんがわ


echo "僕は、" . $sushi[0] . "と、". $sushi[1] . "と、" . $sushi[2] . "が好きです。";

// 僕は、まぐろと、うにと、えんがわが好きです。

?>


// 配列

<?php

$sushi = array("まぐろ"=>"150", "うに"=>"400", "えんがわ"=>"200");

echo "うに" . "は" . $sushi['うに'] . "円です。";

?>

// うには400円です。

関数

function 関数名(引数){
    // ここに処理
}  


// 関数

<?php

function abc() {
	echo "Hello World!!";
}

abc(); // 関数を呼び出す。

?>

関数+引数

<?php

function abc($name) {
	echo "$name<br>";
}

abc("太郎");
abc("みゆき");
abc("マイケル");
abc("アンジェラ");
abc("陳");

?>

/*
太郎
みゆき
マイケル
アンジェラ
陳
*/  


// 関数

<?php

function abc($name, $nationality, $age) {
	echo "名前:$name / 国籍:$nationality / 年齢:$age<br>";
}

abc("太郎", "日本", "46");
abc("みゆき",  "日本", "33");
abc("マイケル", "アメリカ", "67");
abc("アンジェラ", "フランス", "21");
abc("陳", "中国", "87");

?>

/*
名前:太郎 / 国籍:日本 / 年齢:46
名前:みゆき / 国籍:日本 / 年齢:33
名前:マイケル / 国籍:アメリカ / 年齢:67
名前:アンジェラ / 国籍:フランス / 年齢:21
名前:陳 / 国籍:中国 / 年齢:87
*/  

 
// 関数

<?php

function abc($price) {
	$total_price = $price * 1.08;
	echo $total_price;
}

abc(100);

?>

引数について

<?php

function abc() {
	$total_price = 100 * 1.08;
	echo $total_price;
}

abc();

// この場合だと、もし後から数字を変えたくなった場合に、もう1つ新しく別で同じ式を書かなくてはいけない。


↓

 
function abc($price) {
	$total_price = $price * 1.08;
	echo $total_price;
}
 
abc(100);

// この場合だと、もし後から数字を変えたくなった場合に、()内の数字を変えるだけでOK。
// 引数を使うメリットというのは、関数の使い回しが出来るようになるという点。

?>

オブジェクト指向

// オブジェクト指向:やきとん屋

<?php

Class Product { // 製品を管理するためのクラス
	public $name; // 製品の名前
	public $stock; // 在庫
}

// 設計図だけがあってもどうしようもないので、実体化させなくてはいけない。

$harami = new Product(); // これで新しいプロダクトの"ハラミ"が出来ました(ここで変数の名前を決める) newで実体化。
$harami->name = "ハラミ "; // $haramiの名前は "ハラミ"
$harami->stock = 30; // $haramiの在庫は30本。

echo $harami->name . $harami->stock; // ハラミ 20


$kashira = new Product(); // これで新しいプロダクトの"かしら"が出来ました(ここで変数の名前を決める) newで実体化。
$kashira->name = "かしら "; // $kashiraの名前は "かしら"
$kashira->stock = 15; // $kashiraの在庫は15本。

echo $kashira->name . $kashira->stock; // かしら 15

 

 
// オブジェクト指向:やきとん屋さん

<?php

Class Product { // 製品を管理するためのクラス:public, private(継承出来ない), protectedがある(継承したクラスの中でのみ有効)
	public $name;
	public $stock;
	public $price;

	public function getStock() { // getStock関数
		$message = $this->name . "の在庫は" . $this->stock . "本です。";
		return $message;
	}
}

$harami = new Product();
$harami->name = "ハラミ";
$harami->stock = 30;

$kashira = new Product();
$kashira->name = "かしら";
$kashira->stock = 15;

echo $harami->getStock(); // ハラミの在庫は30本です。


Class DrinkProduct extends Product{ // 製品を管理するためのクラス / extendsをしてるので、こっちが子で、Productが親になる。
	public function getStock() { // オーバーライド(override):これを使えば、他のクラスの中身には影響がなく、DrinkProductのここだけに適用される。
		$message = $this->name . "の在庫は" . $this->stock . "リットルです。"; // Class DrinkProductに関してのみ、"リットル"単位に変更出来る。
		return $message;
	}
}

$beer = new DrinkProduct();
$beer->name = "ビール";
$beer->stock = 10;

$shochu = new DrinkProduct();
$shochu->name = "焼酎";
$shochu->stock = 10;

echo $beer->getStock(); // ビールの在庫は10リットルです。

?>  


 
// オブジェクト指向

<?php

class User { // Userクラス:クラスを作る時は、classという命令を使い、クラス名の最初の文字は大文字。

	// プロパティ(property)
	public $name; // プロパティを定義するにはアクセス権の明示が必要、publicはどこからでもアクセス可能。ここがprivateでカプセル化。

	// コンストラクタ(constructor)
	public function __construct($name) {
		$this->name = $name;
	}

	// メソッド(method)などを書いていく。
	public function hello() {
		echo "Hello! I am $this->name";
	}
}

class AdminUser extends User { // extendsを使う事で、Userのデータをそのまま引き継げる(この場合、ここが子クラスで、上のUserクラスが親クラスになる。)
	public function nihao() {
		echo "你好! 我是 $this->name!!";
	}

	public function hello() { // 子クラスの中で、上のメソッドの上書きも可能(オーバーライド(override))
		echo "Hey!! I'm $this->name";
	}

}

// インスタンスを作る時は、newという命令を使う。
$taro = new User("たろう");
$jessica = new User("Jessica");

$lee = new AdminUser("李");

echo $taro->name; // たろう
$jessica->hello(); // Hello! I am Jessica

$lee->hello(); // Hey!! I'm 李
$lee->nihao(); // 你好! 我是 李!!

$jessica->hello(); // Hello! I am Jessica

?>

メソッドチェーン

<?php

function aaa() {
	echo "あいうえお ";
}

function bbb() {
	echo "かきくけこ ";
}

function ccc() {
	echo "さしすせそ ";
}

aaa().bbb().ccc(); // あいうえお かきくけこ さしすせそ

?>

if, else, elseif文

<?php

// if文
if () {

}


// else文
if () {

} else {

}


//elseif文
if () {

} elseif {

} else {

}

?>  

 
// if文, else文, elseif文

<?php

$score = 60;


if ($score >= 80) {
	echo "素晴らしい!"; // $scoreが、80以上の場合は、素晴らしいと表示される
}


if ($score >= 80) {
	echo "素晴らしい!"; // $scoreが、80以上の場合
} else {
	echo "次は頑張りましょう"; // $scoreが、80以下の場合
}


if ($score >= 80) {
	echo "素晴らしい!"; // $scoreが、80以上の場合
} elseif ($score >= 50) {
	echo "よく出来ました。"; // $scoreが、50以上、80以下の場合
} else {
	echo "次は頑張りましょう。"; // それ以外(どこにも当てはまらない場合)
}

?>

switch文

<?php

switch () {
	case 〇〇:
		// ここに書く。
		break;
	case 〇〇:
		// ここに書く。
		break;
	case 〇〇:
		// ここに書く。
		break;

	default:
}

?>  


// switch文

<?php

$color = "green";

switch ($color) {
	case "red":
		echo "赤";
		break;

	case "blue":
	case "green";
		echo "青";
		break;

	case "yellow":
		echo "黄色";
		break;

	default:
		echo "どの色にも当てはまりません。";
}

?>

for文

<?php

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

// 0123456789

?>

foreach文

foreach ($array as $value) {
    // ここに命令を書く;
}

foreach ($array as $key => $value) {
    // ここに命令を書く;
}  

 
// foreach文

<?php
 
$sushi = array('まぐろ', 'いくら', 'うに', 'えんがわ', 'さば');
 
foreach ($sushi as $neta) {
	echo "$neta <br>";
}
 
/*
まぐろ
いくら
うに
えんがわ
さば
*/

	echo $sushi[1]; // いくら

?>  

 
// foreach文:$〇〇 as $key => $value

<?php

$sushi = array(
	'まぐろ'	=>	150, // $key(今回は、$neta) => $value(今回は、$price)
	'いくら'	=>	200,
	'うに'	=>	400,
	'えんがわ'	=>	200,
	'さば'	=>	300
);
 
foreach ($sushi as $neta => $price) {
	echo $neta . 'は' . $price . "円<br>";
}
 
?>

/*
まぐろは150円
いくらは200円
うには400円
えんがわは200円
さばは300円
*/

while, do while文

// while文

<?php

while () {
	//
}

?> 


// while文

<?php

$number = 0;

while ($number < 10) {
	echo "$number";
	$number++;
}

// 0123456789

?>  


// do while文

<?php

$number = 0;

do {
	echo "$number";
	$number++;
} while ($number < 10);

// 0123456789

?>

XAMPPを使って、PHPの結果をブラウザで確認する方法

XAMPPを起動し、特定の場所にPHPファイルを置く、

C:\xampp\htdocs\フォルダ\index.php

そして「index.php」の中に、

<?php

echo 'Hello World!!';

でOK。

そして「index.php」をブラウザで開いて結果を見てみる。