PHP レッスン — レッスン 11 — 文字列と配列を扱う関数
私たちはすでにさまざまなデータ型と、それらを扱ういくつかの関数を知っています。実は PHP にはすでに用意された関数が非常に多くあり、その概観だけで教科書 1 冊では足りません。ですから、そのうちのいくつかだけを取り上げましょう。まず、配列から文字列を作る方法と、逆に文字列から配列を作る方法から始めます。
PHP 配列から文字列へ implode()
例を見てみましょう:
<?php
$colors = array(1=>'黄',2=>'赤',3=>'水色'); // 配列を定義する
$string = implode(',',$colors); // 配列を文字列に変換する
print $string; // 文字列を出力する
?>
その結果、すべての色がカンマで区切られた文字列として出力されます。implode() 関数の第 1 パラメーターには、文字列の中で配列の要素をどう区切るかを指定し、第 2 パラメーターには配列自体を指定します。ご覧のとおり、とても簡単です。では逆に、文字列から配列へ。
PHP 文字列から配列へ explode()
また例から始めましょう:
<?php
$colors = array(1=>'黄', 2=>'赤', 3=>'水色'); // 配列を定義する
$string = implode(',' , $colors); // 配列を文字列に変換する
$string .= ',黒,白'; // さらに色を 2 つ書き足す
$newArray = explode(',' , $string); // 文字列から配列に変換する
print_r($newArray); // 配列を出力する
?>
その結果、書き足したものも含め、すべての色が出力されます。explode 関数は配列の要素を 0 から数え始めることに注目してください。そのため、5 番目の配列要素はキー 4 を持ちます。explode() 関数の第 1 パラメーターは文字列の中で要素を区切る区切り文字、第 2 パラメーターは文字列自体です。
PHP 文字列の長さ、配列の長さ
時には、文字列や配列の長さを数える必要があります。もちろん数が小さければ簡単ですが、文字列が 200〜300 文字の長さで、配列に 500 個の要素がある場合はどうでしょう。そのとき、文字列の長さと配列の長さを数える PHP 関数が助けになります:
$colors = array(1=>'黄',2=>'赤',3=>'水色');
$string = implode(',',$colors);
$string .= ',黒,白';
$newArray = explode(',', $string);
print strlen($string); // 文字列の長さを出力する
このように strlen 関数を使って文字列の長さを出力します。簡単で便利です。私の場合は長さ 35 になりました。
配列にも一定の長さ、すなわち配列の要素数があります:
$colors = array(1=>'黄',2=>'赤',3=>'水色');
$string = implode(',',$colors);
$string .= ',黒,白';
$newArray = explode(',', $string);
print count($newArray); // 配列の要素数を数える
配列の要素数を数えた結果は 5 です。これもかなり簡単で便利です。近いうちに、文字列と配列を扱うすべての PHP 関数のリストを作りますが、ひとまずこれらの簡単な関数の例で、PHP 関数の使い方は分かったと思います。