【PHP】覚えておきたい関数
前回、PHPを始める前に関数は把握しておきましょうと言いましたが、実際どのような関数があるか紹介します。
簡単なアプリを作成した時に、これはよく使ったし便利だなーと思った関数一覧になります。
覚えておきたい10の関数
print_r
指定した変数に関する情報を解りやすく出力する関数。その他にvar_dump()などがありますが個人的にprint_r()の方が見やすいです。
fgets
ファイルポインタから 1 行取得します。引数がSTDINで標準入力です。
trim
文字列の先頭および末尾にあるホワイトスペースを取り除く。上記のfgetsで入力した後、文字列の最後の改行を取り除く場合によく使います。fgetsからのtrimは呪文だと思うのがいいかもしれないです。
explode
文字列を文字列により分割する
array explode ( string $delimiter , string $string [, int $limit = PHP_INT_MAX ] )
$delimiterで文字列を区切ってくれます。返り値は配列になり、その要素は$delimiterで区切られた文字列になります。
implode
配列要素を文字列により連結する
string implode ( string $glue , array $pieces ) string implode ( array $pieces )
以外とexplodeより使う機会がなかった関数です。そのままなんですけどexplode()の逆の動きをしてくれます。
number_format
数字を千位毎にグループ化してフォーマットする
string number_format ( float $number [, int $decimals = 0 ] ) string number_format ( float $number , int $decimals = 0 , string $dec_point = "." , string $thousands_sep = "," )
10000➡︎10,000のように変換してくれます。地味に便利。
引数の数で細かい設定を指定できます。
この関数は 1 つか 2 つもしくは 4 つのパラメータを受け取ります (3 つはありません) :
パラメータが 1 つだけ渡された場合、 number は千位毎にカンマ (",") が追加され、 小数なしでフォーマットされます。
パラメータが 2 つ渡された場合、number は decimals 桁の小数の前にドット (".") 、 千位毎にカンマ (",") が追加されてフォーマットされます。
パラメータが 4 つ全て渡された場合、number はドット (".") の代わりに dec_point が decimals 桁の小数の前に、千位毎にカンマ (",") の代わりに thousands_sep が追加されてフォーマットされます。
array_search
指定した値を配列で検索し、見つかった場合に対応する最初のキーを返す
mixed array_search ( mixed $needle , array $haystack [, bool $strict = false ] )
array_sum
配列の中の値の合計を計算する
number array_sum ( array $array )
返り値は整数かfloatになります。
array_key_exists
指定したキーまたは添字が配列にあるかどうかを調べる
bool array_key_exists ( mixed $key , array $array )
array_searchと違ってこちらは有るか無いかのbool型で返ってくるので、ただキーの有無を知りたい場合はこちらの方が良いでしょう。
array_column (ver.5.5 以降)
入力配列から単一のカラムの値を返す
array array_column ( array $input , mixed $column_key [, mixed $index_key = null ] )
配列 input の中から column_key で指定した単一のカラムの値を返します。 オプションで index_key も指定できます。
※ただし、この関数は古いバージョンには対応していないので注意しましょう。その場合は
/** * 指定したキーの値を取得する。2次元配列のみ対応 * @param target_data 値を取り出したい多次元配列 * @param column_key 値を返したいカラム * @param index_key 返す配列のインデックスとして使うカラム * return array 入力配列の単一のカラムを表す値の配列を返し */ function array_column ($target_data, $column_key, $index_key = null) { if (is_array($target_data) === FALSE || count($target_data) === 0) return FALSE; $result = array(); foreach ($target_data as $array) { if (array_key_exists($column_key, $array) === FALSE) continue; if (is_null($index_key) === FALSE && array_key_exists($index_key, $array) === TRUE) { $result[$array[$index_key]] = $array[$column_key]; continue; } $result[] = $array[$column_key]; } if (count($result) === 0) return FALSE; return $result; }
のように、関数を作ってしまいましょう。
まとめ
ざっと関数をまとめて見ました。まとめていくうちに、そういえば、メソッドと関数の違いってなんだろう?って思いました。
次回はそのあたりとオブジェクト指向について書いていきます。
コードを載せる時に、phpと指定してもうまく色がつかないんですけど、なんなんですかね...
<参考にしたサイト>
PHP: Hypertext Preprocessor