PHPのノート14 – 関数2(文字列関数)
文字列関数
文字列のカウントはすべて0からという点に注意
strlen
変数の文字列の長さ(文字数)を取得
$s = 'hello'; echo strlen($s);
helloの文字数は5
strpos
変数の文字列の第二引数が何番目かを取得
echo strpos($s, 'l');
helloの’l’は3番目なので2
substr
変数の文字列の第二引数から第三引数分の文字列を取得
$d = "abcdefghijk"; echo substr($d, 3,2);
変数$dの文字列”abcdefghijk”で、($d, 3, 2)の場合、
4番目dから二文字分deが結果となる。
この関数は-(マイナス)も指定できる。この場合文字列の後ろからになるが、
起点となる0はaのため-3だった場合はiになる。
str_replace
指定された文字列を置換する。
$e = "this is a pen."; echo str_replace("pen", "brush", $e);
$eのpenをbrushに置換して表示する。
strlen,strpos,substr,str_replaceを確認
→note14_01
printf
フォーマット済みの文字列を出力する
$s = "apple"; printf ("we have 50 %ss", $s);
$s内の文字列を%の後に表示する。
%の後ろのフォーマットは決まっており、文字列だけでなく整数、少数も可能。
文字列はs
整数はd
少数はf
$x = "banana"; //文字列はs $n = 40; //整数はd $p = 5.322; //少数はf、この時fの前に数字を書くと小数点の桁を指定できる。 printf ("we have %d %ss for $%.2f.",$n,$x,$p);
かなり解り辛いが使いこなせると便利?らしい。
現時点ではかなり難解。
確認
→note14_02
mb
mb_文字列関数
主に文字列が日本語(全角、マルチバイト文字)の場合mbを付ける。
mb_strlen($s, “UTF-8”);
mb_文字列関数の引数に”UTF-8″を追記することで文字エンコーディングを指定できる。
$j = "こんにちは"; echo mb_strlen($j, "UTF-8");
(strlenは文字列の長さを調べる)
mb_substr($s,n,x)
echo mb_substr($j,1,3,"UTF-8");
(substrは文字列のn番目からx文字分表示する)
確認
→note14_03
注意事項
- 自分用の覚書です。
- 自分が後から読んで理解できる程度にはしょったりまとめたりしています。
- 後で誤りに気付いた時は随時訂正しています。
- 「よくわかるPHPの教科書」と「ドットインストール」で勉強したのでそれらをなぞっています。