はじめに
プログラミングをしている時、特に問題を解く時などに個人的に覚えておきたいPHPの関数をまとめました。「〜したい!」という欲求から関数を探すという逆引き的な使い方ができればと思っています。
投稿時点(2020/9/19)ではまだ数が少ないですが、今後追記していきます。
「読み方」を併記する理由
各関数に読み方を表記しています。なぜなら、何かを覚えられない時ってその名前がわからないからって気がしているからです。読み方がわかるということは、その意味も頭に入ってきやすいです。例えば、レンって言われてもピンと来ませんが、レングスって言われるとわかりやすかったりしませんか(英語わかる方なら...)?興味ない人の名前よりも好きな人の名前は覚えられますよね。
読み方は、個人的にこれだと頭に入ってきやすいなと思ったもので、正式なものではありません。(てか正式な読み方ってあるんですかね?)
文字列系
◉検索対象の文字列の中に特定の文字があるか知りたい
strpos(検索範囲, 探すもの)
読み方:ストリングポジション
<?php
$str = "qiita";
$t = strpos($str, "t");
var_dump($t);//int(3)
$k = strpos($str, "c");
var_dump($k);//bool(false)
?>
◉文字列を置き換える、置換する
str_replace(探したい文字, 置き換えたい文字, 検索範囲)
読み方:ストリング リプレイス
<?php
$str = "qiita";
echo str_replace("q", "k", $str); //kiita
?>
◉文字列を分解したり、切り出したい
substr(検査したい文字列, 何個めから, 何文字)
読み方:サブストリング
substring(サブストリング)とは和訳すると部分文字列です。サブ(sub)って日本人感覚だと、「副」ってイメージが強いですが、辞書によると「分割、細分」という意味もあるらしいです。TECHACADEMY記事もわかりやすいですね。
<?php
$en = "Kanda";
$jp = "かんだ";
echo substr($en, 1, 3); //and 第2パラメータは0からなのでご注意
echo substr($jp, 1, 2); //ん 日本語は1文字=2バイトなのでご注意
?>
◉文字列を配列に変換したい
str_split(変換したい文字列, 何文字ずつ分割するか)
読み方:ストリング スプリット
スプリットは「分割する」って意味なので、文字列を分裂させるっていう命名ですね。
<?php
$num = "LArc-en-Ciel";
$array = str_split($num, 4); //第2パラメータを省略すると1バイトずつになる
print_r($array);
//Array
//(
// [0] => LArc
// [1] => -en-
// [2] => Ciel
//)
?>
数えたい系
◉文字数を数える
strlen(検査対象)
読み方:ストリング レングス
機能:対象の文字列の文字数を数える
<?php
$longestword = 'pneumonoulttamicroscopicsilicovolcanoconiosis'; //一番長い英単語らしい
echo strlen($longestword); //45
?>
◉検索対象の文字列の中に特定の文字が何回出てくるか数えたい
substr_count(検査範囲, 探しているもの)
読み方:サブストリング カウント
注:似たような関数でmb_substr_count()マルチバイト サブストリング カウント
があります。マルチバイトとは、1文字を2バイト以上で表す文字のことで、日本語などがそうですね。
<?php
$str = "L'Arc-en-Ciel";
echo substr_count($str, 'e'); //2
echo substr_count($str, 'c'); //1 大文字のCはカウントされない
?>
◉配列の中に特定の値(value)がいくつあるか知りたい
array_count_values(検査したい配列)
読み方:アレイ カウント バリューズ
<?php
$str = ["a", "d", "d", "r", "e", "s", "s"];
$array = array_count_values($str);
var_dump($array); //結果は左下に
/* array(5) {
["a"] => int(1)
["d"] => int(2)
["r"] => int(1)
["e"] => int(1)
["s"] => int(2)
} */
echo $array["d"]; //2
?>
算数系
◉累乗(2乗とか3乗とか)の計算
pow(底, 指数)
(算数の復習)「2の3乗」と言った時、2が底、3乗が指数にあたる。
読み方:パウ(なんでパウ?)
<?php
echo pow(2, 3); //8
echo 2 ** 3; //これも上と同じこと
?>
適宜ブラッシュアップしてきます
投稿時点(2020/9/19)ではまだ数が少ないですが、今後追記していきます。