PHP学習の覚書
連想配列について
連想配列は何層にもできる
$array_promise_member = [
'human'=>[
'Emma' =>[
'sex' =>'woman',
'plant' => 'three',
'age' => 11
],
'Ray' =>[
'sex' =>'men',
'plant' => 'three',
'age' => 12
],
'Noman' =>[
'sex' =>'woman',
'plant' => 'three',
'age' => 11
],
],
'monster' =>[
'Sonju' =>[
'sex' =>'men',
'age' => null,
],
'anokata' =>[
'sex' =>'men',
'age' => null,
]
]
];
//連想配列の呼び出し方
echo $array_promise_member['human']['Emma']['age'];
//11
Var_dump()
変数の内容を確認できる
echo '<pre>';
var_dump($array_promise_member);
echo '<pre>';
//echo '<pre>';を上下につけると見やすくなる
改行方法
. PHP_EOL ,EOT,eho '<br>'
ifを使うときのテクニック
elseを使うと可読性が下がるので
$here = 'farm';
if($here ==='farm'){
echo '脱獄';
}else{
echo'stay ease';
}
こう書き換える
if($here === 'farm'){
echo '脱獄';
}
if($here !=='farm'){
echo 'stay ease';
}
データが入ってるかどうかの判定
isset / empty / is_null
データベースからデータを取ってきたときにデータが入っているかどうかを確かめる
$test='1';
//empty構文を使った場合
if(!empty($test)){
echo '変数は空ではありません';
}
//変数は空ではありません
三項演算子
if else -> 条件 ? true : false
$rank = '特上';
$command = $rank === '特上' ? 'catch! Don't kiII' : 'KiII them';
echo $command;
foreachについて
多次元配列のforeach
$members = [
'Emma' =>[
'kind' =>'human',
'plant' => 'three',
'age' => 11
],
'Ray' =>[
'kind' =>'human',
'plant' => 'three',
'age' => 12
],
'Noman' =>[
'kind' =>'human',
'plant' => 'three',
'age' => 11
]
];
//
foreach ($members as $member1) {
foreach ($member1 as $member) {
echo $member;
echo '<br>';
//キーも取りたい時は
foreach ($members as $member1) {
foreach ($member1 as $member => $value) {
echo $member . 'は' . $value . 'です。' ;
echo '<br>';
}
}
等号記号について
===か==か
PHPはどちらも使えるが、
== 型が違っても等しい
=== 型も等しい
となる。
例えば
$string_num = '10';//文字列
if($string_num == 10){//数値
echo '等しい';
}
//等しい
となってしまう。
$string_num = '10';//文字列
if($string_num === 10){//数値
echo '等しい';
}
//error
※switchの場合は、デフォルトだと==になってしまうので
$string_num = '10'
switch($string_num){
case $string_num === 10:
echo '等しい';
case....
と書くことで厳密なチェックができるが
書き方が複雑になってしまうので
なるベくswitchを使わずifを使う
よく使う関数
文字列関数
-
strlen
文字列の長さ(バイト数)を調べる関数
※日本語の平仮名は1文字3バイト
https://www.php.net/manual/ja/function.strlen.php -
md_strlen
文字列の長さを調べる関数
※日本語も1文字として計算される
https://www.php.net/manual/ja/function.mb-strlen.php -
str_replace
文字列を置換する関数
https://www.php.net/manual/ja/function.str-replace.php -
explode
文字列を分割する関数
https://www.php.net/manual/ja/function.explode -
implode
文字列を結合する関数
https://www.php.net/manual/ja/function.implode -
preg_match
正規表現に使用
→文字か数字か、郵便番号やメールアドレスが正しく入力されているかを確認する
https://www.php.net/manual/ja/function.preg-match -
mb_substr
指定文字列から文字列を取得する
https://www.php.net/manual/ja/function.mb-substr
参考:図解でわかるPHP関数一覧
http://html2php.starrypages.net/php/array-funcs
外部ファイルの読み込み
requireとinclude
require・・・ファイルの読み込みに失敗するとエラーになる
include・・・ファイルの読み込みに失敗すると警告が出る
<?php
require 'ファイル名';
//外部ファイルの関数や変数が使える
現在のファイルの絶対パスを表示させるマジック定数
echo __DIR__;
// ~/~/~/main.php
外部ファイルを絶対パスで読み込みたい時は
require __DIR__ . '~/~/~/○○.php';
として読み込むことが出来る