phpの文字列
更新日:2022-05-21
phpの文字列の表現方法は3つあります。
シングルクオートで囲む
$string='Hello,world.';
シングルクオートで囲った文字列の中では、 '\''はシングルクオートに、'\'はバックスラッシュに変換されます。
ダブルクオートで囲む
$string="Hello,world.";
ダブルクオートで囲まれた文字列の中では、 '\n'(改行)などのエスケープシーケンスが使えます。
ヒアドキュメントを使う
複数行にまたがる文字列を扱うときに使います。
$string = <<< EndOfQuote
Lorem ipsum dolor sit amet,
consectetur adipiscing elit,
sed eiusmod tempor incididunt
ut labore et dolore magna aliqua.
EndOfQuote;
文字列を表示する方法
文字列をブラウザに表示する方法は、以下の6つです。 このうち、print_r()とvar_dump()は主にデバッグ時に使います。
echo
echoは関数ではなく言語構造なので、()が不要です。 ただし、式の一部として使うことができません。
print()
print('Hello,world.');
print()は1つの値をブラウザに送信します。 複数の引数を取ることはできません。
printf()
printf('%s','Hello,world.');
printf()は書式文字列を指定された値で置き換えた文字列を出力します。 C言語のprintf()と同じような使い方をします。
sprintf()
$string=sprintf('%s','Hello,world.');
sprintf()はprintf()の出力内容を文字列として返します。
print_r()
$charactor=array('Harry','Ron','Hermione');
print_r($charactor);
var_dump()
var_dump()はprint_r()が出力するデータ型以外に、bool値やNULLも表示できます。
文字列を操作する組み込み関数
その他、phpで文字列を操作する組み込み関数には、以下のようなものがあります。
| 関数 | 定義 |
|---|---|
| strlen() | 文字列の長さを返す |
| mb_strlen() | 日本語を含むマルチバイト文字の文字列の長さを返す |
| trim(文字列,除去する文字) | 文字列の先頭と末尾の空白を除去 |
| ltrim(文字列,除去する文字) | 文字列の先頭の空白を除去 |
| rtrim(文字列,除去する文字) | 文字列の末尾の空白を除去 |
| strtolower() | 文字列全体を小文字に |
| strtoupper() | 文字列全体を大文字に |
| ucfirst() | 文字列の文頭の文字だけを大文字に |
| ucword() | 単語の先頭を大文字に |
エンコード
ユーザーがフォームから入力した値を安全にデータベースに格納する際などに必要なのがエンコード作業です。
< や &などの特殊文字をHTMLエンティティに変換する(エンコードする)際は、htmlentities()を使います。
htmlentities(文字列,quote_style,charset);
quote_styleには、以下の3つが指定できます。
| 引数 | 意味 |
|---|---|
| ENT_COMPACT | ダブルクオートのみ変換(デフォルト) |
| ENT_QUOTES | シングルクオートとダブルクオートの両方を変換 |
| ENT_NOQUOTES | シングルクオートとダブルクオートのどちらも変換しない |
htmlspecialchars()は、&,"",'',<,>の文字をそれぞれエンティティに変換します。
htmlspecialchars(文字列,quote_style,charset);
その他、HTMLタグに関わる関数は、以下があります。
| 関数 | 定義 |
|---|---|
| strip_tags() | 文字列からHTMLタグを削除 |
| get_meta_tags() | HTMLのmetaタグの情報を取得 |
#基礎文法
コメントはこちらから
※コメント内容は公開されますので、個人情報など公開されてはいけない情報は投稿しないでください。