特異メソッド

文法

 状態:  閲覧数:1,479  投稿日:2008-11-16  更新日:  
特異メソッドとはクラスではなくある特定のオブジェクトに固有のメソッド(ある特定のオブジェクトだけが使えるメソッド)。
なお、クラスの特異メソッドはそのサブクラスにも継承される。
定義するには、通常、"def クラス名.メソッド名" という書式を使う

基本的な利用方法

 閲覧数:91 投稿日:2010-04-25 更新日:2013-03-23 

基本


最も基本的な利用方法

   $kahen = "air";//「変数$kahen」に文字列「"air"」をセット
   $air  = "port";//「変数$air」に文字列「"port"」をセット
   echo $$kahen;//$($kahen)→$(air)→$air→「port」が出力

結果


foreach


foreachの中で利用
・「imgpath_1」「imgpath_2」変数を動的生成後、値を格納
// 複数ファイルのアップロード対応        
foreach ($_FILES["imgpath"]["error"] as $key => $error) {

${'imgpath_'.($key+1)}=$ranking_id."_".($key+1).$ext;


「可変変数で配列生成」 ✕ 「foreach」

 閲覧数:128 投稿日:2013-03-23 更新日:2013-03-23 

利用例


可変変数の配列を生成
・「変数名を{}で囲む」という原則に沿ってコーディングすればOK
・しかし、ちょっと油断していると、どこを括れば良いか分からなくなるので注意が必要
foreach ($hiraganahash as $key => $val){
 if (firstcharacter($term,$key)) {
 ${'array_'.($val)}[] = $term;
}
}


・小文字へ変換する処理が入ったりしても、基本は同じ
// integer数値、stringアルファベット

$numberalphabet= array_merge(range(0,9),range('a','z'),range('A','Z'));

foreach ($userlist as $term){
foreach ($numberalphabet as $val) {
if (firstcharacter($term,$val)) {
${'array_'.(strtolower($val))}[] = $term;
}
}
}



クラス定数

制御構造

コメント投稿(ログインが必要)