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関数