2011-01-17 7 views
0

で奇妙なエラーコードです。私は間違って何をしていますか?PHPと私自身の機能ここで

+0

? PHP変数は '$'で始まり、 '.'は連結に使われます。 –

+0

どのような解析エラーですか? – Shoe

答えて

6

変数機能を使用するには、あなたはstrtolower()strtoupper()のような関数を書いてみたいでしょう。 lowerupperの両方をカバーするカスタム関数を使用したい場合でも、可変関数呼び出しは不要です。

+0

私はその機能を使用しています。なぜならucfirstのキリル文字をサポートしていないからです。 – omtr

2

なぜ組み込みのPHP関数を呼び出す関数を作成していますか?これは完全に後退しているようであり、決してその問題の価値があることはありません。問題を解決するには、組み込みのPHP関数strtolowerまたはstrtoupperを使用します。

function change_case($str, $type) { 
    $func = 'str' . $type; 

    if (function_exists($func)) 
     return $func($str); 
    else 
     return $str; 
} 

ないアイデア理由:あなたは(誰かが無効な型を渡す場合にfunction_exists()を使用)ので、同じようにそれを呼び出さない、その後、関数名を構築し、最初の変数に入れて

+1

良い点。 +1に値する。 – Shoe

+0

カスタムメソッド内からネイティブメソッドを呼び出す方法は正当です。特に、ネイティブ関数からさらにカスタマイズされた結果を提供する予定がある場合は特にそうです。覚えておいて、OPは何かをする方法を尋ねました。例が良いかどうかではありません:) – Sampson

0

何がそうのように行われるべきでやりたい:

function change_case($str, $type) { 
    $function = 'str'.$type; 
    if(function_exists($function)){ 
    return $function($str); 
    } 
} 
正確に何をしようとする