PHPでよく使う関数まとめ2(自分用)


型を変化させる関数 (intval()関数, strval()関数)

文字列型 → 数値型にする関数  intval()関数
数値型  → 文字列型にする関数 strval()関数

$int = intval($str);//$strを数値型にして$intに代入
$str = strval($int);//$intを文字列型に変えて$strに代入

配列の値をカウントする (count()関数)

count()関数 - 配列の中の数をカウントする関数

$abc = array(1,2,3);
echo count($abc);

パーミッションを変更する関数 (chmod()関数)

chmod関数 (ファイル又は、フォルダのパーミッションを変更する
パーミッションを記述するときは「0755」のように頭に0をつけること!

$kakutyousi = 'jpeg';
$moveimg = "./../img/".time().'.'.$kakutyousi; //$moveimgはファイル名
chmod("./../img/" . $moveimg, 0644);//パーミッション変更
(./../img/ファイル名のパーミッションを0644に変更)

変数、セッション変数や配列の値などを削除する (unset()関数)

unset()関数 - 変数、セッション変数や配列の値を破棄する関数

unset($_SESSION['err_msg']);

変数の値をデバッグする var_dump()関数

var_dump()関数 - 主にデバッグの時に使用する関数

$fruit =array("りんご", "ぶどう", "みかん");
var_dump($fuit);

配列の中に値があるか調べる (in_array()関数)

in_array()関数 - 配列の中に値があるかどうか調べる関数

$str = array('北海道','東京','大阪','沖縄');
$timei = '京都';
if(in_array($timei,$str)){
	echo '京都は含まれています';
}else{
	echo '京都は含まれていません';
}

文字列を1文字づつ分解したい (str_split()関数)

str_split()関数 - 文字列を1文字(指定文字数)づつ分解して配列に格納
マルチバイトには、対応してません!

$str = 'abcd';
$bunkai = str_split($str);
echo $bunkai[0];

結果 a
str_split($str,2);とすると 2文字づつ分解します

配列の値が何番目に出現するか? (array_search()関数)

array_search()関数 - 指定する配列キーが何番目にでてくるかを返す関数(0から始まる)

$str = 'amazon';
$bunkai = str_split($str); //1文字づつ分解して配列に格納

$soeji = array_search("m",$bunkai);//'ん'は $bunkaiの何番目に出現するか? 0から始まるので1が入る

echo $bunkai[$soeji];

結果 m

配列の値を並び替えたい (sort()関数,rsort()関数)

sort()関数 rsort()関数 - 配列の中の値を並び替える

$abc = array(3, 2, 1);
sort($abc);
print_r($abc);

文字列を指定の文字数で区切りたい (mb_strimwidth()関数)

mb_strimwidth()関数 - 文字を指定文字数で区切る
注 : マルチバイト関連の関数は必ず文字コードを指定すること

$str = mb_strimwidth($str, 0, 15, "...", 'UTF-8');
//上の場合15文字以上は...で表示される
//よくショッピングカートの長すぎる商品名に使われている

半角文字を全角に変換 (mb_convert_kana()関数)

mb_conbert_kana()関数 - 全角文字を半角にする
mb_conbert_kana()関数 - 半角文字を全角にする
注 : マルチバイト関連の関数は必ず文字コードを指定すること

$str = 'バガボンド';
mb_convert_kana($str,KV,'UTF-8');
上の場合は バガボンドとなる

r	全角英字→半角英字
R	半角英字→全角英字
n	全角数字→半角数字
N	半角数字→全角数字
a	全角英数字→半角英数字
A	半角英数字→全角英数字
s	全角スペース→半角スペース
S	半角スペース→全角スペース
k	全角カタカナ→半角カタカナ
K	半角カタカナ→全角カタカナ
h	全角ひらがな→半角カタカナ
H	半角カタカナ→全角ひらがな
c	全角カタカナ→全角ひらがな
C	全角ひらがな→全角カタカナ
V	KまたはHと一緒に使用し、濁点付きの半角文字を全角の1文字に変換

オプションによって使い分ける

数字にカンマを付けたい (number_format()関数)

number_format()関数 - 数字をカンマで区切る

$int = 1000000;
echo number_format($int);

結果 1,000,000

UNIXタイムスタンプを取得したい (time()関数)

time()関数 - UNIXタイムスタンプを返す関数
(画像ファイルなどのファイル名付けなどに使うと便利)

echo time();

結果 1537845080

文字列を指定する部分で区切り配列に格納する (explode()関数)

explode()関数 - 文字列を指定部分で分割し、配列に格納する

mb_language('ja');//念のため、一応いれておく
mb_internal_encoding('UTF-8');//念のため、一応いれておく

$str = 'ドラえもんとのび太とジャイアンとスネオ';
$cast = explode("と", $str);//"と"で分割し配列に入れた
echo $cast[1];
結果 のび太

例2
$word = 'りんご,みかん,もも,すいか,パイナップル,';
$newword = explode(',',$word);//カンマ区切りで分割した
echo $newword["0"];

結果 りんご

サーバーのPHPの情報が知りたい (phpinfo()関数,phpversion()関数,ini_get()関数,gd_info()関数)

phpinfo()関数 - サーバーのPHP情報をみる
phpversion()関数 - サーバのPHPのバージョンを調べる
ini_get()関数 - サーバのPHP設定オプションの値を得る
gd_info()関数 - サーバのGDライブラリの情報を調べる

phpinfo();//サーバーのPHPの情報を得る

echo '現在のPHPのバージョンは'.phpvarsion();

echo ini_get('safe_mode') ? "セーフモードON" : "セーフモードOFF";

echo '文字コード = '.ini_get('default_charset');

echo '文字コード変換 = '.ini_get('mbstring.encoding_translation') ? "ON":"OFF";

echo 'インクルードパス = '.ini_get('include_path');

echo 'セッションセーブパス = '.ini_get('session.save_path');

var_dump(gd_info());//GDライブラリについての情報を調べる

$_SERVER サーバー環境変数について

サーバー環境変数 $_SERVERについての簡単なまとめ

$_SERVER['SERVER_NAME'] ← サーバー名

$_SERVER['SCRIPT_NAME'] ← 現在実行中のスクリプトのパス

$_SERVER["HTTP_REFERER"] ← どのページからきたのか?

$_SERVER["HTTP_USER_AGENT"] ← 使っているブラウザは?

$_SERVER["REMOTE_ADDR"]  ← IPアドレス

ファイル書き込みの一連の流れ

ファイル書き込みの手順まとめ

$moji = '新しく書き込む文字列';

$fp = fopen($filename2,'ab'); //ファイルを開く

flock($fp,LOCK_EX); //開いているファイルにアクセスできないようロック

ftruncate($fp,0); //ファイルの内容をけしてポインタを先頭に移動
 //↑コレがない場合は追記モードで書き込む(ファイルの内容を消さない)
 
fwrite ($fp,$moji); //ファイルに書き込み

fclose($fp); //ファイル閉じる

長い文を書くときに便利なヒアドキュメント

関数ではないけど長いSQL文とかにヒアドキュメントを使うと便利

注意事項1 : はじめのEOTの部分をシングルクウォートで囲むと変数が展開しません!
(PHPのバージョンが 5.3以上)

注意事項2 : 最後のEOTの部分の前に空白(スペース)があるとNG

注意事項3 : ヒアドキュメント内で変数を使いたい場合
変数を{$hensuu}という風にするとより変数であると解釈してくれます

$money = 50000;
$okodukai = number_format($money);
$name = 'たかお';
$koubutu = 'たこ焼き';

$str =<<< EOT//EOTは別になんでもいい 例えば ENDとかでもOK
はじめまして、私の名前は{$name}です
今月のおこづかいは{$okodukai}円でした
{$okodukai}円もあれば、大好物の「{$koubutu}」がいっぱい食べれます
EOT;
echo $str;

出力結果
はじめまして、私の名前はたかおです
今月のおこづかいは 50,000円でした
50,000円もあれば、大好物の「たこ焼き」がいっぱい食べれます

$をそのまま出力したい場合は \$ としてエスケープします