見出し画像

【 PHP学習 #15 】 「組み込み関数」  FIREへの旅路 ♯465

PHPには、あらかじめ作られている関数がたくさんあります。

それは、計算・文字の成形・日付時刻・配列・画像・データベース・セキュリティなどです。

それは、非常に大量にあるために、関数のマニュアルを見ながら使います。


【 よく使う関数 】

関数は膨大にありますから、頻出のものを紹介します。


▶︎ 文字列関数 文字列の長さを取得する

strlen()

<?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はマルチバイトの略です。



▶︎ 文字列を置き換える

str_replace()

<?php

//文字列関数

$str = '文字列を置換する';

echo str_replace('置換','ちかん',$str);

このように、「置換」という文字列を「ちかん」に置き換えています。

str_replaceは引数を3つ持ちます。

1つ目の引数で、変換したい文字(検索する文字)
2つ目の引数で、変換後の文字
3つ目の引数で、変換したい文字列

を入れます。

ですから、
コードとしては
これでも動きます。


<?php

//文字列関数



echo str_replace('置換','ちかん','置換する');



▶︎ 指定文字列で分割する

explode()

<?php

//文字列関数


$str = '指定文字列で、分割します';

echo '<pre>';

var_dump(explode('、', $str));

echo '</pre>';

このように、「 、」という文字で、文字列が分割されています。そして、配列として出力されます。


explode()は引数を2つ持ちます

1つ目の引数で、分割する文字を指定
2つ目の引数で、分割する文字列を指定

explode('、', $str)




▶︎ 正規表現

preg_match()

<?php

//文字列関数


$str = '特定の文字列が含まれるか確認する';

echo preg_match('/文字列/' ,$str);

preg_match() は引数を2つ持ちます。

1つ目の引数で、検索する文字列を入れる
2つ目の引数で、対象の文字列を入れる

今回の場合は、'文字列' という文字列が、
$str = '特定の文字列が含まれるか確認する'; の中にあるかを確認するコードですから、

ある ので、「1」が返されます。
ない 場合は「0」が返されます。


● どのような時に使うか

正規表現は、文字列が
文字かどうか
数字かどうか
郵便番号かどうか
メールアドレスかどうか

などを判定するときに使います。

例えば、文字列に「@」が入っているかを判別して、それがメールアドレスであるかを確認したりといった使い方です

▶︎ 指定文字列から文字列を取得する

substr()

<?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の配列は、
'りんご' , 'なし' , 'ぶどう'  'みかん' ]
となります。



【 まとめ 】

組み込み関数について学びました。

この他にも多くの関数が用意されています。

全てを覚える必要はありません。

調べる力が必要です!


この記事が気に入ったらサポートをしてみませんか?