PHP
もろもろ 文字数とか PHPでの文字列の文字数・バイト数・文字幅(見た目の長さ)の数え方 全角チェック 1 2 3 4 5 6 7 8 9 10 11 12 13 14 <?php /** * @assert ('文字列です。') === true * @assert ('abcd1234+:;!') === false * @assert ('全角abcd') === false * @assert ('半角カナ') === false */ function is_zen_preg_match ($str) { if (!preg_match("/(?:\xEF\xBD[\xA1-\xBF]|\xEF\xBE[\x80-\x9F])|[\x20-\x7E]/", $str)) { return true; } else { return false; } } 名前でメソッドを呼ぶ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 <?php class Checker { function check_name($value) { return false; } } $profile = array( 'name' => 'my name', 'phone' => '333-3333-3333' ); $checker = new Checker(); function check($checker, $key, $value ){ $method = "check_$key"; if(method_exists($checker, $method)){ return $checker->$method($value); } return true; } foreach($profile as $key => $value ){ echo $key, ":", check($checker, $key, $value ), "\n"; } map関数 1 2 3 4 5 6 7 8 9 10 11 12 13 <?php $array = array('a' => 1, 'b' => 2, 'c' => 3); $array2 = array_map(function($val){ return $val * 2 ; }, $array); foreach($array as $k => $v ){ echo "$k .... $v\n"; } foreach($array2 as $k => $v ){ echo "$k .... $v\n"; } 1 2 3 4 5 6 7 $ php tests_map.php a .... 1 b .... 2 c .... 3 a .... 2 b .... 4 c .... 6 インスタンスクラスのstatic メンバーへのアクセス 1 2 3 $model_class = get_class($instance); $value = $model_class::$static_value; 配列要素の削除 1 unset($array[$i]); PHP docs PHP: Noticeエラーを回避してarrayから値を取得するいくつかの例 mysql -接続確認 ...