配列のlengthを0にすると[0]がundefinedになる JavaScript
var ary = new Array(); ary[0] = 1; ary.length = 0; // 配列の中身をなくす alert(ary[0]); // => undefined
undefinedがポップアップされる
PHPで名前などの文字を短くする関数
PHPで名前などの文字を短く切り捨てて表示する関数。
mb_substrはマルチバイトに対応しているが、引数の「length」は"バイト数"ではなくて、"文字数"!
string mb_substr ( string $str , int $start [, int $length [, string $encoding ]] )
substrはあるけど、マルチバイトに対応してない・・・
↓実際作った
// 名前を21バイト以下にする関数 function name_substring($name, $length = 21) { // 21以外は←ここをかえればいい $bytes = 0; $tmp_str = ""; for($i=0;$i<mb_strlen($name, "UTF-8");$i++){ // 文字数分ループの繰り返し $get_str = mb_substr($name, $i, 1, "UTF-8"); // 1文字ずつ取り出し $bytes += strlen($get_str); // バイト数を調べて$bytesに加算 if ($bytes > $length) { break; } $tmp_str .= $get_str; } return $tmp_str; }
・使い方
$name = name_substring("shinriyoしんりほげほげあああああううううううううううううううううううううううううjiojioo");
$nameに短くしたのが入る