スクリプトの入力
sample2-1.php
<?php
echo "Hello PHP";
?>
ヒアドキュメント
<<<(ID)
複数行にまたがる文字列
(ID)
変数と代入
sample3-1.php
<?php
// 変数を使った簡単なスクリプトの例
$a = 10;
$b = 2;
// $cに$aと$bの和を代入
$c = $a + $b;
// $a+$bの計算結果を表示
echo $a . "+" . $b . "=" . $c;
?>
var_dump関数
・$variable変数の値と型を調べる
var_dump($variable);
if文
・if文の書式
if (条件式) {
処理
}
else文
・else文の書式
if (条件式) {
処理1;
} else {
処理2;
}
else if文
・else if文の書式
if (条件式①) {
処理;
} else if (条件式②) {
処理;
} else {
処理;
}
switch文
・switch文の書式
switch (値) {
case 値1:
処理;
break;
case 値2:
処理;
break;
default:
処理;
}
for文
・for文の書式
for (初期化処理; 条件式; 増分処理) {
処理
}
while文
・ while文の書式
while (条件式) {
処理
}
do~while文
・whileの書式
do {
処理
} while(条件式);
配列
・配列の生成
[値1, 値2, ・・・]
配列の操作
sample4-10.php
<?php
echo "(1) 配列の初期値<br>";
$ar = ["orange", "apple", "banana"];
print_r($ar);
echo "<br>(2) 2番目の値を「pineapple」に変更<br>";
$ar[2] = "pineapple";
print_r($ar);
echo "<br>(3) 配列の末尾の削除<br>";
array_pop($ar);
print_r($ar);
echo "<br>(4) 配列の末尾に要素を追加<br>"
array_push($ar, "cherry", "lemon");
print_r($ar);
echo "<br>(5) 配列の先頭を削除<br>"
array_shift($ar);
print_r($ar);
echo "<br>(6)配列の先頭に要素を追加<br>"
array_unshift($ar, "peach");
print_r($ar);
echo "<br>(7)配列の要素を削除<br>";
unset($ar[2]);
print_r($ar);
echo "<br>(8)$arの配列の番号の振りなおす<br>";
$ar = array_values($ar);
print_r($ar);
?>
配列の切り取り
sample4-11.php
<?php
echo "配列\$ar1の初期値<br>";
$ar1 = ["a", "b", "c", "d", "e",]; // 配列$ar1の初期値
print_r($ar1);
echo "<br>\$ar2:1番目から2つの要素を切り取り(添字の番号0から)<br>";
$ar2 = array_slice($ar1, 1, 2); // 要素の切り取り①
print_r($ar2);
echo "<br>\$ar3:1番目から2つの要素を切り取り(添字の番号を保持)<br>";
$ar3 = array_slice($ar1, 1, 2, true); // 要素の切り取り②
print_r($ar3);
?>
配列の結合
sample4-12.php
<?php
// 配列$ar1、$ar2の初期値
$ar1 = ["a", "b"];
$ar2 = ["c", "d", "e"];
$result = array_merge($ar1, $ar2); // 配列を結合する
print_r($result);
?>
連想配列
連想配列の定義
・連想配列の定義の書式
[キー1=>値1, キー2=>値2,・・・];
要素の追加と削除
sample4-14.php
<?php
$animals = ["dog"=>"犬", "cat"=>"猫", "bird"=>"鳥"];
print_r($animals);
$animals["dog"] = "いぬ"; // "dog"の値を"犬"から"いぬ"に変更
echo "<br>";
print_r($animals);
$animals["horse"] = "馬"; // "horse"をキー"馬"を値として追加
echo "<br>";
print_r($animals);
unset($animals["cat"]); // キー"cat"の要素を削除
echo "<br>";
print_r($animals);
?>
foreach文
・foreachの書式
foreach (配列変数 as 変数) {
処理
}
foreachループでキーと値の両方を取得する
・配列のキーと値の両方を取得する書式
foreach (配列変数 as 変数A => 変数B) {
処理
}
関数
関数の定義
・関数の定義の書式
function 関数名(引数1, 引数2, ・・・) {
処理
return 戻り値;
}
参照渡し
sample5-4.php
<?php
// 値渡しの関数
function job_set1($param) {
$param = "会社員";
}
// 参照渡しの関数
function job_set2(&$param) {
$param = "自営業";
}
// 職業の初期値
$taro_job = "公務員";
$hanako_job ="公務員";
// 関数の呼び出し
job_set1($taro_job);
job_set2($hanako_job);
// 結果の表示
echo "太郎の職業は{$taro_job}です。<br>";
echo "花子のの職業は{$hanako_job}です。<br>";
?>
・実行結果
太郎の職業は公務員です。
花子の職業は自営業です。
さまざまな関数を利用する
文字列に関する関数
sample5-5.php
<?php
// 文字列の設定
$str = "HTMLとPHPの学習";
echo "\$str=「{$str}」<br><br>";
// 文字列の長さを求める(mb_strlen関数)
$length = mb_strlen($str);
echo "\$strの長さは{$length}文字です。<br>";
// 文字列の5文字目から3文字切り取る(mb_substr関数)
$sub = mb_substr($str, 5, 3);
echo "\$strを5文字目から3文字切り取ると「{$sub}」です。<br>";
// 文字列の中から「学習」を検索(mb_strpos関数)
$srch = "学習";
$result = mb_strpos($str, $srch);
echo "「{$srch}」は、\$strの{$result}文字目に含まれます。<br>";
// 文字列をHTMLからWebに置き換える(str_replace関数)
$srch = "HTML";
$replace = "Web";
$result = str_replace($srch, $replace, $str);
echo "\$strの「{$srch}」を「{$replace}」にすると「{$result}」になります。<br>";
?>
preg_match関数
・preg_match関数の書式
preg_match(パターン, 対象の文字列)
isset関数
isset関数を使ったプログラムsample5-9.php
<!DOCTYPE html>
<html>
<head>
<title>円の面積と円周の長さを求める</title>
<meta charset="UTF-8">
</head>
<body>
<h1>円の面積と円周の長さを求める</h1>
<!-- 数値入力フォーム -->
<form method="POST" action="sample5-9.php">
<p><b>円の半径 (cm) :正の数を入力してください</b></p>
<input type="text" name="radius">
<br>
<p>
<?php
// 半径が入力されているかの確認
if (isset($_post["radius"])) {
// 半径を$rに代入し正規表現で型チェック
$r = $_POST["radius"];
if (preg_match("/^([1-9]\d*|0)(\.\d+)?$/", $r) == 1) {
if($r > 0.0) {
$pi = 3.14;
$area = $pi * $r * $r;
$cir = 2 * $pi * $r;
echo "<p>面積:{$area}cm2 円周:{$cir}cm</p>";
} else {
echo "<p>半径には正の数を入力して下さい</p>";
}
} else {
echo "<p>半径には正の数を入力して下さい</p>";
}
}
?>
<input type="submit" value="計算する">
</form>
</body>
</html>
参考