PHPを過去の理解が深まった記録
勉強の備忘録として記事を書いています。
PHPの勉強を始め、今まで曖昧だった関数・引数・変数の理解が深まったため記録していきます。
PHP初心者の私向けベストプラクティス🦖🌟
1️⃣ 変数の命名をわかりやすくする
・なにを入れるかを示す名前にし、何の値かひと目でわかるようにする
・文字列は""か''で囲まないとエラーになるため注意
$price = 100;
$username = 'hanako';
2️⃣ echo や print を目的に合わせて使う
・画面表示したときはecho
・デバック用ならvar_dump()やprint_r()
3️⃣ HTMLとPHPを混ぜるときは可読性を上げる
・PHPタグを短縮形を使用するなどして最小化すること
・<?php echo ... ?>の短縮形:<?= ... ?>
・混合して記述するときは終了タグの省略はできないので注意
<?php $username = '花子'; ?>
<p><?= $username ?>さん、こんにちは</p>
4️⃣ 変数の初期値・入力チェックを都度行う
・空の値や想定外の値でエラーになることがあるため要チェック
5️⃣ こまめに簡単なコメントを残す
・何をしているコードなのかを誰が見てもわかるようにコメントを残す
・自分でも理解できるように書く
6️⃣ 配列や繰り返し処理は簡潔に
・無駄なループやifを増やさないために簡潔に記述すること
$fruits = ["りんご", "バナナ", "いちご"];
foreach ($fruits as $fruit) {
echo $fruit;
}
- PHPの基本的な書き方
<?php
// ここに命令文を記述
print_r($_POST);
?>
<?php ?>で囲んだ中に「何をどうするのか」という命令文を記述する。命令文の文末には;セミコロンを忘れない。
- 関数と引数
関数🌻
定められた処理を実行する仕組み。
例:print_r
引数🍋
()内の部分。命令の対象やどう処理をするのか「何を」表示させるのかを引数で指示する。
例:($_POST)の部分
- 変数
数字や文字列を入れる箱のようなもの。$変数名で表す。
変数としてデータを格納することで命令で繰り返し使うことができる。
.phpと.htmlの連携
引数として$_POSTという変数を入力する
→ HTMLで入力されたmethod="post"内のデータが格納される。
POSTメソッドを指定している部分で受け渡し先としてaction属性の値にPHPのファイル先を指定する📦
$_POSTはあらかじめPHPで定義された変数
PHPがPOSTメソッドで受け渡されたデータを格納する箱
🌟この段階で入力欄に何かを入れて送信ボタン押した時にちゃんと反映されているのかデバックする。成功すればPHPのファイル先のアドレスに飛んで、Array ( [key] => 値 )が表示される。
上記で記載したコードの変数print_rはデバックで利用する関数
詳細に確認するときはvar_dump()も利用するためどっちも覚えておく
変数を理解する🐵🍌
変数は一時的に値を保持しておくためなどに使う。
値を入れる箱を作っておいて、使う時まで値を保持しておくイメージ
$a = 1;
$b = 2;
$answer = $a + $b;
echo $answer
$a=1な訳ではなく、値を代入してると考えるのが正しい。
$answerには$a + $bを代入してるため3と表示される。
-
echoについて
echo以降の文字列や数字を表示して!という命令。上記のコードでを参照すると$answerの値である3が表示される。
文字列でも数字でもとにかくなんでもブラウザに出力することができる。WEBページにテキストや数値を表示するのが目的で、HTMLと組み合わせて画面表示に使うのが一般的。
【変数名のルール】
$から始まり半角英数字とアンダースコアが使える。
だけどいくつか注意点があって$のすぐ後ろには数字は使えない。
ハイフンは使用できないので注意!
【変数には文字列も代入できる】
文字列を代入する場合は""か''で文字を囲う。
文字列を繋げる場合は文字列結合演算子として.ピリオドを使う
<?php
$lastName = '山田';
$firstName = '花子';
$fullName = $lastName . $firstName;
echo $fullName;
?>
この場合の表示内容は、
山田花子
-
""と''シングルクォーテーションの違い・使い分け
ダブルの場合は文字列内の変数を値に書き換える
シングルの場合は書き換えない
<?php
$sample = ‘サンプル’;
echo “ダブルクォーテーションの場合$sample”;
echo ‘シングルクォーテーションの場合$sample’;
?>
この場合の表示内容は、
ダブルクォーテーションの場合サンプル
シングルクォーテーションの場合$sample
PHPだけのコードであれば終了タグの?>は省略可能
ただしHTMLとPHPが混在してる時はバグを防ぐためにも必要🌼
- 配列について
0からカウントする。
複数の値を1つの変数に格納することができることを配列と呼ぶ。
今回の場合だと$_POSTという1つの大きな箱の中に複数の小さな箱が入ってる。複数の小さな箱にはHTMLでつけたname属性の値がその小さな箱のラベルになる。このラベル部分をキーと呼ぶ。
配列を設定する場合は、
[キー=> 値, キー2=> 値2, キー3=> 値3]の形で記述する。
そしてその配列の変数の中から特定の値だけを取り出すこともできる。
キーは[]で囲んで指定し文字列を使うことも可能。
キーに数値を使った場合🍎
<?php
$fruits = ['りんご','バナナ','いちご']
echo $fruits[0];
echo $fruits[1];
とすると取り出されて表示される値は、
りんごバナナ
になる。
キーに文字列を使った場合🎯
<?php
$home = [‘address1 => 札幌市’, ‘address2 => 中央区’, ‘tel => 1234-5678’];
echo $home[‘address1’];
echo $home[‘address2’];
echo $home[‘tel'];
とすると取り出されて表示される値は順番に、
札幌市中央区1234-5678
となる。
文字列の場合は""か''で囲う必要があるため注意🐝⚠️
Discussion