PHP
try code今日やったこと
PHP導入
PHPとは? 初心者がまずPHPを学ぶべき理由
WordPressとは?
Indeed
XAMPPのダウンロード・インストール方法と基本的な使い方
MAMP のインストールと初期設定(環境構築)
XAMPP
Apache(サーバー)、MySQL(データベース)、PHPなどが入ったパッケージソフト。
PHPの開発環境を作る。
※重要!!!!!
xampp でスタイルシートが反映されないとき
Ctrl + Shift + R
PHPプログラミング(導入)
・拡張子は .php
・PHPファイルは
Cドライブ → xampp → htdocs に入れる。
ブラウザでの確認は、アドレス欄に http://localhost/フォルダ名/ファイル名.php
を入力し、確認する。
PHPプログラミング(基本)
基本の書き方
<?php echo '猫である'; ?>
<?php ~ ?>で囲む
命令の最後は、 ; を入力
文字列は ''(シングルクォート)で囲む
コメント文は、
#1行コメント
//1行コメント
/* 複数行コメント */
画面上に出力する
<?php echo '猫である'; ?>
<?php print '猫である'; ?>
※printは戻り値がある、echoはカンマで文字連結できる、など少し違いはある。
文字列の連結 → 「.」 ドットを使う
print 'ネコデアル' . '<br>'
echo 'ネコデアル' . '<br>';
echo '吾輩は' , '猫である'; // echoのみカンマで連結可能
変数(データを入れておく箱)
$val = 'ネコ'; valという変数に'ネコ'を代入。
※ 先頭に数字は使えない $01(→NG)
※ 大文字小文字は区別される
※ ダブルクォートとシングルクォートの違い
echo "{$val} である。"; → ネコであると表示
echo '{$val} である'; → $valであると表示
ダブルクォートは変数を展開する(処理が遅い)
シングルクォートは変数を展開しない(処理が速い)
日付時刻の表示
date('Y年m月d日'); //2021年10月11日
パラメータ
Y 年を4桁で
m 月を0付きで(07)
d 日を0付きで(02)
w 曜日を数字で(日曜日を 0)
H 時間を24時間表記(0付き)
i 分を0付きで
★ Dateオブジェクト
$date = new DateTime();
→ 日付オブジェクトを$dateに入れる
$date->format('Y/m/d'); //2021年10月11日
今日やったこと
条件分岐
if(条件式1){
//
}elseif(条件式2){
//
}else{
//
}
※比較演算子
a === b 値が等しい
a > b bより大きい
a >= b b以上
a < b bより小さい
a <= b b以下
a !== b aとbが等しくない
※論理演算子
A and B (A && B) // A かつ B
A or B (A || B) // A または B
条件分岐(別々のブロックで書く)
<?php if(条件式): ?>
//htmlタグをそのまま
<?php elseif(条件式): ?>
//html
<?php else: ?>
//html
<?php endif; ?>
繰り返し(回数が決まっている)
for(初期化式;条件式;増減式){
//繰り返しの処理
}
<例>
for($i=0;$i<100;$i++){
//echo $i;
}
※『$i++』 は 『$i = $i+1』 と同じ
繰り返し(別々のブロックで書く)
<?php for(・・・): ?>
//処理
<?php endfor; ?>
繰り返し(条件で繰り返し)
$num = 0; //初期化式
while (num < 2){
//繰り返す処理
$num = $num + 1; //増減式
}
日付時刻の関数
strtotime(日付/時刻)
→ 日付・時刻のタイムスタンプを取得
※タイムスタンプ → 1970/1/1からの経過秒数
<例>
strtotime('2018/8/31')
→ 1970/1/1から2018/8/31までの経過秒数を取得
date('Y/m/d',タイムスタンプ)
タイムスタンプを 'Y/m/d'のフォーマットで成形・表示する
date('Y年m月d日', strtotime('+1 day'));
date('Y年m月d日', strtotime('-1 month'));
date('Y年m月d日', strtotime('+1 year'));
date('Y年m月d日', strtotime('-1 week'));
$date->modify('+1days')->format('Y/m/d');
→ 本日より1日後を表示する
今日やったこと
配列
$animal = ['犬','サル','キジ'];
※値の取り出し方
$animal[0] // 犬が表示
$animal[1] // サル
$animal[2] // キジ
[0] → 添え字(インデックス)
※配列の個数
count(変数)
count($animal) → 3が出力
連想配列(キーが文字列の配列)
$member = ['name'=>'田中','age'=>41,'pref'=>'大阪'];
※値の取り出し方
$member['name'] //田中
$member['age'] //41
連想配列のキーと値をすべて取得
foreach($連想配列変数名 as $key(仮キー変数) => $val(仮値変数)){
echo $key.$val;
}
→ 連想配列中のキーと値がすべて表示される
foreach($配列変数名 as $値変数)
→ キーを省略する書き方もある(値のみ必要な場合)
ブロックで書く
<?php foreach(条件): ?>
//htmlタグ
<?php endforeach; ?>
今日やったこと
文字列の長さ
mb_strlen(変数) → 文字数
mb_strlen('ネコ') → 2
文字の一部取得
mb_substr(変数,開始位置 [,取得する文字数]);
mb_substr('ネコである',0,2) → ネコ
mb_substr('ネコである',1) → コである
mb_substr('ネコである',-3,2) → であ
書式を整える
sprintf(文字列のフォーマット,入力したい文字1,入力したい文字2,・・・);
echo sprintf('%02d', 1); // 01
echo sprintf('%03d', 1); // 001
echo sprintf('%sさんのIDは%04dです', '山田', 1); // 山田さんのIDは0001です
formタグについて
action属性
→ データの送り先(ファイル名)
method属性
→ get(URLにパラメータを付けて送信・検索などで利用)
→ post(値を裏側で送信。お問い合わせフォームなど)
値の受け取り方
get → $_GET['name属性値'];
post → $_POST['name属性値'];
※$_REQUEST['']は、両方受け取れるが、あまり使わない。
postされたかどうかの確認
if(isset($_POST['name属性値'];)){
//POSTされた時の処理
}
ファイルがあるかどうかの確認
if (file_exists(ファイルのパス)) {
echo '存在する';
}
サニタイズ
htmlspecialchars($_POST['name属性値'],ENT_QUOTES);
ファイルの書き込み
ファイルを変数に格納
$filename = 'memo.txt';
file_put_contents($filename,データ);
ファイルの読み込み(全文)
ファイルを変数に格納
$filename = 'memo.txt';
ファイルを読み込み変数に格納
$content = file_get_contents($filename);
ファイルの中身を出力
echo $content;
ファイルの読み込み(一文ずつ)
ファイルを変数に格納
$filename = 'memo.txt';
ファイルを配列に格納し、さらに変数に格納
$lines = file($filename);
配列を出力
echo $lines[0]; //1行目を出力
XMLファイルの読み込み
RSSとは
PHPでRSSやAtomのフィードを取得する方法
BeRSS
$xml = simplexml_load_file('URL');
PHPファイルの読み込み
include 'phpファイルのパス';
include_once 'パス';
require 'パス';
require_once 'パス';
※includeとrequireの違いについて
includeはエラーがあっても処理継続
requireはエラーがあると処理ストップ
※onceについて
onceはファイルを1回だけ読み込む
小数を整数に
ceil(1.23) // 2になる(切上げ)
floor(1.23) // 1になる(切捨て)
round(数値,表示したい桁数)
round(1.23,1) // 1.2になる(四捨五入)
乱数
mt_rand(最小数,最大数);
<例> mt_rand(0,5) // 0から5の乱数
空判定
empty(変数) → 変数が空なら、trueを返す。
変数が空でなければ、falseを返す。
<例>
$str = '';
$str02 = 'neko';
empty($str) //true
empty($str02) //false
!empty($str) //false ※!は否定を意味する