【 PHP学習 #15 】 「組み込み関数」 FIREへの旅路 ♯465
PHPには、あらかじめ作られている関数がたくさんあります。
それは、計算・文字の成形・日付時刻・配列・画像・データベース・セキュリティなどです。
それは、非常に大量にあるために、関数のマニュアルを見ながら使います。
【 よく使う関数 】
関数は膨大にありますから、頻出のものを紹介します。
▶︎ 文字列関数 文字列の長さを取得する
<?php
//文字列関数
$text = 'abc';
echo strlen($text);
abcは3文字でなので、3と表示されます。
strlen という関数名は、
文字列stringのstrと
長さ length の lenを
繋げたものです。
日本語の場合
<?php
//文字列関数
$text = 'アイウエオ';
echo strlen($text);
このように、文字列を日本語にすると、
アイウエオと5文字のはずが、15文字とカウントされます。
これは、日本語の文字コードはUTF-8になり、
日本語は1文字3〜6バイトとなります。
そのため、アイウエオは3バイト×5文字で、15と表示されます。
日本語の文字数を取得するには、
マルチバイト文字列用の関数を使います。
▶︎ マルチバイト文字列の長さを取得する
<?php
//文字列関数
$text = 'アイウエオ';
echo mb_strlen($text);
strlenであったところを、
mb_strlenに変えると、5と表示されました。
mbはマルチバイトの略です。
▶︎ 文字列を置き換える
<?php
//文字列関数
$str = '文字列を置換する';
echo str_replace('置換','ちかん',$str);
このように、「置換」という文字列を「ちかん」に置き換えています。
str_replaceは引数を3つ持ちます。
1つ目の引数で、変換したい文字(検索する文字)
2つ目の引数で、変換後の文字
3つ目の引数で、変換したい文字列
を入れます。
ですから、
コードとしては
これでも動きます。
<?php
//文字列関数
echo str_replace('置換','ちかん','置換する');
▶︎ 指定文字列で分割する
<?php
//文字列関数
$str = '指定文字列で、分割します';
echo '<pre>';
var_dump(explode('、', $str));
echo '</pre>';
このように、「 、」という文字で、文字列が分割されています。そして、配列として出力されます。
explode()は引数を2つ持ちます
1つ目の引数で、分割する文字を指定
2つ目の引数で、分割する文字列を指定
explode('、', $str)
▶︎ 正規表現
<?php
//文字列関数
$str = '特定の文字列が含まれるか確認する';
echo preg_match('/文字列/' ,$str);
preg_match() は引数を2つ持ちます。
1つ目の引数で、検索する文字列を入れる
2つ目の引数で、対象の文字列を入れる
今回の場合は、'文字列' という文字列が、
$str = '特定の文字列が含まれるか確認する'; の中にあるかを確認するコードですから、
ある ので、「1」が返されます。
ない 場合は「0」が返されます。
● どのような時に使うか
正規表現は、文字列が
文字かどうか
数字かどうか
郵便番号かどうか
メールアドレスかどうか
などを判定するときに使います。
例えば、文字列に「@」が入っているかを判別して、それがメールアドレスであるかを確認したりといった使い方です。
▶︎ 指定文字列から文字列を取得する
<?php
//文字列関数
echo substr('abcde',1);
echo '<br>';
echo mb_substr('アイウエオ',3);
substr() は引数を2つ持ちます
1つ目の引数で、文字列をかく
2つ目の引数で、取得する文字列の開始位置をかく
今回の場合、'abcde' という文字列の、1文字目を開始位置に指定したので、bcdeが返ってきます。
0文字目をしてすれば、abcdeが返ります。
今回も日本語の場合は、マルチバイト関数を使いますので、先頭にmb_を付けます。
▶︎ 配列の関数 array_push
配列に配列を追加(push)します。
array_push(配列,追加要素);
▶︎ 書き方
<?php
// array_push
//配列に配列を追加する
$array = ['りんご' , 'なし'];
array_push($array,'ぶどう','みかん');
echo '<pre>';
var_dump($array);
echo '</pre>';
$array = ['りんご' , 'なし'];
という、配列があります。
array_push($array,'ぶどう','みかん');
$array に、 'ぶどう' 'みかん' を追加(push)します。
$arrayの配列は、
[ 'りんご' , 'なし' , 'ぶどう' 'みかん' ]
となります。
【 まとめ 】
組み込み関数について学びました。
この他にも多くの関数が用意されています。
全てを覚える必要はありません。
調べる力が必要です!
この記事が気に入ったらサポートをしてみませんか?