文字列操作
1. 文字列の結合
PHPでは、文字列の結合にドット演算子(.)を使用します。
<?php
$firstName = "太郎";
$lastName = "山田";
$fullName = $firstName . " " . $lastName;
echo $fullName; // 出力: 太郎 山田
?>
2. 文字列の長さを取得する
strlen関数を使うと、文字列の長さを取得できます。
<?php
$str = "こんにちは";
echo strlen($str); // 出力: 15 (マルチバイト文字はバイト数でカウントされます)
?>
3. 部分文字列を取得する
substr関数を使うと、文字列の一部を抽出できます。
<?php
$str = "こんにちは、世界!";
echo substr($str, 0, 5); // 出力: こんにちは
?>
4. 文字列の検索と置換
文字列の中の特定の部分を検索したり、置換したりするためにstrposとstr_replaceを使用します。
<?php
$str = "私はPHPを学んでいます。";
$position = strpos($str, "PHP");
echo $position; // 出力: 3
$newStr = str_replace("PHP", "プログラミング", $str);
echo $newStr; // 出力: 私はプログラミングを学んでいます。
?>
配列操作
1. 配列の作成とアクセス
配列は複数の値を一つの変数に格納するためのものです。
配列には数値キーと連想キーの2種類があります。
数値キー配列
<?php
$fruits = array("リンゴ", "バナナ", "オレンジ");
echo $fruits[1]; // 出力: バナナ
?>
連想配列
<?php
$person = array("名前" => "太郎", "年齢" => 25, "性別" => "男性");
echo $person["名前"]; // 出力: 太郎
?>
2. 配列の操作
PHPには、配列を操作するための多くの関数があります。
要素の追加
<?php
$fruits[] = "ブドウ"; // 配列の末尾に追加
?>
配列の結合
<?php
$arr1 = array("リンゴ", "バナナ");
$arr2 = array("オレンジ", "ブドウ");
$result = array_merge($arr1, $arr2);
print_r($result); // 出力: Array ( [0] => リンゴ [1] => バナナ [2] => オレンジ [3] => ブドウ )
?>
- 配列の繰り返し処理
配列の各要素を繰り返し処理するためにforeach文を使用します。
<?php
$fruits = array("リンゴ", "バナナ", "オレンジ");
foreach ($fruits as $fruit) {
echo $fruit . "<br>";
}
?>
フォームの処理
1. フォームデータの取得
PHPでは、HTMLフォームから送信されたデータを$_GETまたは$_POSTスーパーグローバル変数を使って取得します。
<form method="post" action="process.php">
名前: <input type="text" name="name">
<input type="submit" value="送信">
</form>
// process.php
<?php
$name = $_POST['name'];
echo "こんにちは、" . htmlspecialchars($name) . "さん!";
?>
2. 入力の検証
フォームデータを処理する前に、適切な検証を行うことが重要です。
<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$name = trim($_POST['name']);
if (empty($name)) {
echo "名前を入力してください。";
} else {
echo "こんにちは、" . htmlspecialchars($name) . "さん!";
}
}
?>
エラー処理
1. 基本的なエラー処理
PHPでは、エラーが発生した場合に表示するエラーメッセージを制御するために、try-catch構文を使用します。
<?php
function divide($a, $b) {
if ($b == 0) {
throw new Exception("ゼロで割ることはできません。");
}
return $a / $b;
}
try {
echo divide(10, 0);
} catch (Exception $e) {
echo "エラー: " . $e->getMessage();
}
?>
2. カスタムエラーハンドラ
独自のエラーハンドラを作成して、エラー処理をカスタマイズすることができます。
<?php
function customError($errno, $errstr) {
echo "エラー: [$errno] $errstr<br>";
}
set_error_handler("customError");
echo($test); // 変数が定義されていないためエラーが発生
?>