[PHP] 個人的 逆引き関数リファレンス




トップページへ

※普段使用している関数だけなので数は少ないです

※逆引き、つまり「したいこと」から関数を探す一覧でリンク先はなるべく公式ですが、見つからない場合は諸先輩方のサイトです

※リンクの「記事」は当サイトの別記事です

 

変数の破棄→unset()

 

分岐文→if(), elseif()

分岐文→switch()、記事

 

実行遅延、待ち時間→sleep()

 

HTML からの脱出・公式からの引用

<?php if ($expression == true): ?>
条件式が真の場合にこれが表示されます。
<?php else: ?>
それ以外の場合にこちらが表示されます。
<?php endif; ?>

 

別サンプル WordPress

<?php $previous_post = get_previous_post();
if (!empty( $previous_post )): ?>
<a href=”<?php echo get_permalink( $previous_post->ID ); ?>”><?php echo $previous_post->post_title; ?></a>
<?php endif; ?>

 

文字列の中で文字を探して

最初に見つかる→strpos()、大小の区別をしないstripos()

マルイバイト(日本語が主体)ならmb_strpos()

最後に見つかる→strrpos()

大小の区別をしないstrripos() eg.Scarlet,scarlet のどちらも対象

 

文字列から文字を抜き出したい→substr()、マルチバイト(日本語が主体)ならmb_substr()

eg. 右から2文字

$rest = substr(“abcdef”, -2); // “ef” を返す

 

文字列の置換→str_replace()

 

位置指定による置換→substr_replace()

eg. ABCDEFGH:/MNRPQR/ から’MNRPQR を削除します

substr_replace(‘ABCDEFGH:/MNRPQR/’, ”, 10, -1)

位置10から「最終位置から-1」した部分、「MNRPQR」を除去

(offset指定なので、Aなら0, Mなら10)

結果 ABCDEFGH://

 

文字列を数字に変換→intval()

数字を文字列に変換→strval()

サンプル

$w_p_title = $p_title. ‘ – ‘ .strval($img_no);
++$img_no;

 

数字かどうか→is_numeric()

変数が存在するかどうか→isset()

eg. 警告「PHP Warning: Undefined array key」で回避できる場合がある

 

HTMLタグの除去→strip_tags

 

文字列をそのまま出力→echo

文字列のフォーマットが可能で出力もする→printf()

eg. vsprintfのサンプルですが、月や日が1桁の時にゼロをつけたい場合

print vsprintf(“%04d-%02d-%02d”, explode(‘-‘, ‘1988-8-1’));
1988-08-01

eg.私のサンプル

printf(‘<option value=”%04d”>%04d年(令和%d年)</option>’, 2024, 2024, (2024 -2018));

 

千の位ごとに , (カンマ)を出力→number_format

数字の右詰めとゼロ埋めなどのフォーマットが可能。ただし表示にはechoが必要→sprintf()

サンプル
$format = ‘%3d’;
sprintf($format , $w_cnt);

99 *記事では右詰めではありませんが、実行すると下1桁がそろった右詰めです
100

さらにゼロ埋め
$format = ‘%03d’;
sprintf($format , $w_cnt);

099
100

※個人的:sprintfで、フォーマット文字の数と、渡す変数の数が一致していない場合、「空の文字列」になる可能性あり

 

 

文字列を区切り文字で分割→explode()

サンプル
例 $buffer内が「href="https://www.google.co.jp」の時
$line = explode('="', $buffer);
$line[0]には「href
$line[1]には「https://www.google.co.jp」

 

文字長(文字列の長さ)を調べる→strlen()

マルチバイト→mb_strlen()

 

カレントディクレトリの変更→chdir()の例

※ローカルで実行する場合はフルパスの方が良い。

ファイルやディレクトリが存在するかどうか→file_exists

指定したファイルがディレクトリかどうか→is_dir

ファイルが読み込み可能かどうか→is_readable

(対象ファイルのパーミッションが600の場合、読み込み不可という判定になりました)

ファイル名、パス名だけを取得→pathinfo

 

空かどうか→empty()

変数 $work が空でないなら→ if ( !empty( $work ) ) {

変数がbooleanか?→is_bool()

 

 

Q. 「If ( $w_pos != false ) {」が正しく判定されない

A. [PHP]基礎・比較演算子

 

ループ→for()、記事

ループ→foreach()、while()

次の繰り返しへ→continue

例 continue 2; という使い方もある

ループを抜ける→break

 

処理を飛ばす→goto

(関数など)処理を呼び出し元へ戻す。実行中の場合はreturn後すぐに停止される→return

ファイルの終端か?→SplFileObject::eof

 

括弧 {} 公式のやや中央

 

算術演算子

なお和差積商は + , – , * , / を使う。

整数値の除算→intdiv

たとえば、変数 i が 3の倍数の時だけ処理Aをしたい

if ( $i % 3 == 0 ){ 処理A }

 

割り算の答えを整数で返す→intdiv

小数を丸める(≒四捨五入)→round

eg.百分率を求めたい。割り算をして100倍にし、小数点以下を3桁にする場合

round( 269 / 147101 * 100, 3)

(269 ÷ 147101 x 100 =0.18286… → roundで 0.183)

端数の切り捨て→floor

 

特殊文字を変換(&→&amp;、<→&lt;など)したい、フォームで入力した文字列が正しく認識されない場合→htmlspecialchars

例 $wk_no = htmlspecialchars($_POST['entry_no'], ENT_QUOTES, 'UTF-8');

 

エラーの出力 error_reporting

 

ファイルのタイムスタンプの取得や更新(書き込み)

//作成日時(ファイルの inode 変更時刻を取得)

$w_ctime = filectime( $filename );

//ファイルの更新日時(ファイルの更新時刻を取得)

$w_mtime = filemtime( $filename );

//ファイルスタンプの書き込み(ファイルの最終アクセス時刻および最終更新日をセットする)

touch($new_name, $w_mtime);

 

 

class(クラス

 

__() 翻訳関数

例 __( ‘Continue reading’ )

 

cURL関数

curl_exec

curl_getinfo

curl_init

curl_reset

curl_close

 

curl_setopt

PHP 7.4.x から PHP 8.0.x への移行

CURLOPT_POSTFIELDS は、 オブジェクトを配列として受け入れなくなりました。 オブジェクトを配列として解釈させるためには、 明示的に (array) キャストを行って下さい。 配列を受け入れる他のオプションにも、同じことが当てはまります

 

 

基本的な変数

外部からの変数

 

 

PHP 7.4.x から PHP 8.0.x への移行

PHP 8.0.x から PHP 8.1.x への移行

PHP 8.1.x から PHP 8.2.x への移行

PHP 8.2.x から PHP 8.3.x への移行

 

PHPメニューへ戻る

【PR】 PHP (amazon) *見つからない場合があります

【PR】 PHP (楽天市場) *見つからない場合があります




ほかの PHP の記事

[phpMyAdmin] カラム移動で「#1067 Invalid default value for '項目名'」

レンタルサーバーのPHPを7.4.13→8.0.7にしたら

[PHP]別ファイルの関数の引数に値をセットし戻り値を得る

[PHP]グラフ用プログラムPHPlotのスタートから使い方まで

[PHP] 静的プロパティは :: 、動的プロパティは ->