PHP 基礎
あくまでも一例。
細かい使い方については参考文献の部分を参照したり、ググったりしてみてください。
1行の終わり(区切り文字)
PHPは実行の区切り文字として「;(セミコロン)」が必要。
忘れるとエラーになるので注意
コメントアウト
PHPのコメントは主に3種類
#を使った方法
#が登場してからその行の右側がコメントアウト扱い
<?php
$hello = "aaa"; # ここがコメント
?>
//を使った方法
#と同じ。
<?php
$hello = "aaa"; // ここがコメント
?>
/* */を使った方法
複数行のコメントに使う
/* ここがコメント
ここがコメント
ここがコメント
ここがコメント */
文字の出力
<?php
echo('Hello World');
print('Hello World');
?>
改行させたい時
<br>
タグを使う
<?php
echo("Hello World");
?>
<br>
<?php
print("Hello World");
?>
とか
<?php
echo("Hello World <br>");
print("Hello World");
?>
ってしてあげるとできる。
PHPはHTMLを生成するのに使用するので<br>
を出力するとブラウザが改行と判断してくれる
変数の宣言と代入
変数は「$」+変数名で表される
変数名として利用できる文字列は先頭がアンダーバーかアルファベットで始まり、
その後にアンダーバー、数字、アルファベットが続くもの。
<?php
$name = "YAMADA";
$_pref_name = "TOKYO";
$year2008 = 2008;
?>
PHPは基本的に変数に「型」を書かなくてもなんでも代入できる。
表示したい時
宣言、代入した後、echo
やprint
関数を使うことで表示が可能
<?php
$name = "YAMADA";
echo ($name);
echo ("<br>");
print($name);
?>
<br>
のタグもPHPから表示制御することで「改行する」「改行しない」の切り替えが可能になる。
分岐
if 文による分岐
多言語同様、elseif
、else
も使用可能
<?php
$type = '.jpg';
if ($type == '.jpg'){
print ("画像ファイルです");
}elseif ($type == '.mp3'){
print ("音声、音楽ファイルです");
}elseif ($type == '.mp4'){
print ("動画ファイルです");
}else{
print ("不明です");
}
?>
swich文による分岐
break
は記述しないと下の処理をそのまま実行されてしまう。default
は記述しなくても問題ない。
<?php
$pref = '神奈川';
switch ($pref){
case '東京':
// 処理
break;
case '大阪':
// 処理
break;
case '京都':
// 処理
break;
case '神奈川':
// 処理
break;
default:
// 処理
}
?>
繰り返し
for文の場合。
<?php
for ($num = 0; $num < 10; $num++){
print "num=".$num;
}
?>
個人的には「$」忘れがちになる。
foreachを使用する場合
これは結構使う。
配列を添字なしでループさせる方法。
as
区の左側に元々の配列、右側にループ内で使う配列の要素用の変数を定義するとループするごとに右側の変数に値が新しく代入される。
<?php
$preflist = array('東京', '大阪', '名古屋');
foreach ($preflist as $pref){
print $pref;
}
?>
配列
参照、代入
添字を使えば要素へのアクセスが可能
<?php
$result[0] = 85;
$result[1] = 92;
$result[2] = 68;
print $result[0];
print $result[1];
print $result[2];
?>
for文でやる場合にはこう
<?php
$result[0] = 85;
$result[1] = 92;
$result[2] = 68;
for ($i = 0; $i < 3; $i++){
print $result[$i];
}
?>
関数
function
として事前に定義しておくことで使用できる。
<?php
function check($kamoku, $tensuu){
print $kamoku.'の結果:';
if ($tensuu > 75){
print '合格です';
}else{
print '不合格です';
}
}
$sugaku = 84;
$eigo = 62;
$kokugo = 78;
check('数学', $sugaku);
check('英語', $eigo);
check('国語', $kokugo);
?>
以前書いたコードを一部見やすくしたものがこんな感じ。
$aryWeek
と$aryDate
を設定や月に合わせてずらしながら配列に格納してあげることで
HTMLはほとんど変えずに、カレンダーを表示することができる。
<?php
$aryWeek = ['月','火','水','木','金','土','日'];
$aryDate = [[1,2,3,4,5,6,7],
[8,9,10,11,12,13,14],
[15,16,17,18,19,20,21],
[22,23,24,25,26,27,28],
[29,30,31]];
?>
<table>
<!-- 曜日の表示 -->
<tr>
<?php foreach($aryWeek as $week){ ?>
<th><?php echo $week ?></th>
<?php } ?>
</tr>
<!-- 日数の表示 -->
<?php foreach( $aryDate as $tr ){ ?>
<tr>
<?php foreach($tr as $td){ ?>
<td><?php echo $td ?></td>
<?php } ?>
</tr>
<?php } ?>
</table>
<!-- XXXX -->
のコメント方法はHTMLのコメント
参考文献
Discussion