Posted by booyaa on 12月 3, 2009 in
PHP関数
mb_strwidth は文字列の幅を返すということなんですが、
mb_strlen や strlen とは違います。
mb_strlenは
mb_strlen(‘あいうえおaiueo’); //10
strlenは
strlen(‘あいうえおaiueo’); //20 (utf-8の場合)
一方mb_strwidthは
mb_strwidth(‘あいうえおaiueo’); //15
になります。
つまり、
英数字などは1
マルチバイト文字は2
としてカウントしてくれます。
幅に着目しているので、文字エンコードに依存しません。
ブラウザで表示する際の見た目を調整するときなんかに使えると思います
Posted by booyaa on 12月 3, 2009 in
PHP関数
array array_fill_keys ( array $keys , mixed $value )
この関数は、初期化の際に結構便利かなぁと思います
たとえば、
$key_list = array('a','b','c','d');
というような配列があって、
$array = array(
'a' => array(),
'b' => array(),
'c' => array(),
'd' => array(),
)
このように初期化したいときは
$array = array();
foreach ($key_list as $key){
$array[$key] = array();
}
のようにすると思うんですが、array_fill_keysを使うと
$array = array_fill_keys($key_list,array());
でできちゃいます。
大幅にコードを削減することはできませんが、
こんなやりかたもあるよって感じですね。
何気に好きなのでたまに使っています。
タグ: PHP関数
Posted by booyaa on 1月 3, 2009 in
PHP関数
nl2br 改行文字の前にHTMLの改行指定文字を挿入する
string nl2br ( string string)
使い方
$string = “aaaa\nbbb”;
echo nl2br($string);
結果
aaaa<br />
bbb
phpで改行を含んだ文字列をHTMLとして出力する際に活躍します。
ここで注意なのが、
改行文字が<br />になるのではなく
改行文字の前に<br />が挿入されるということ。
改行文字列は残っているということに注意!
しばらく改行が<br />になるんだと勘違いしてました。。
タグ: PHP関数