PHP 5のタイプ制約
2167 ワード
詳細
PHPの関数パラメータにはタイプ制約があります.それは,要求パラメータのタイプを明確にすることである.たとえば、次のコードがあります.
では、タイプコンストレイントにはどのような関係があるのでしょうか.ここには奇妙な問題がある.それは次のことです.
明示的に指定されたパラメータが何らかのタイプの変数である場合、高速PHPのプログラム効率に参加します.どうしてですか.なぜなら、逆はオブジェクトであり、PHP 5のデフォルトは参照で伝達されるからである.したがって、public function test(OtherClass$otherclass){この行のコードには、参照記号はありませんが、実際には参照参照参照参照です.
では、配列は?PHPで我々が直面するビッグデータのタイプは,オブジェクト,配列,文字列の3種類にすぎず,文字列はパラメータテーブルに参照記号(&)を明確に用いるためである.
配列はどうですか.試してみれば分かります.だから、私はあまり言わない!
オブジェクトパラメータにタイプコンストレイントが追加されても、デフォルト値はオプションのパラメータになります.この場合,関数内部では,入力パラメータがNULLであるか否かを判断する.しかし、一般的にはinstanceofという演算子は必要ありません.(この演算子は特に、否定する場合は(!(A instanceod B))の形式でなければなりません.)デフォルト値が設定されているコードは次のとおりです.
PHPの関数パラメータにはタイプ制約があります.それは,要求パラメータのタイプを明確にすることである.たとえば、次のコードがあります.
var;
}
/**
*
*
*/
public function test_array(array $input_array) {
print_r($input_array);
}
}
//
class OtherClass {
public $var = 'Hello World';
}
?>
では、タイプコンストレイントにはどのような関係があるのでしょうか.ここには奇妙な問題がある.それは次のことです.
明示的に指定されたパラメータが何らかのタイプの変数である場合、高速PHPのプログラム効率に参加します.どうしてですか.なぜなら、逆はオブジェクトであり、PHP 5のデフォルトは参照で伝達されるからである.したがって、public function test(OtherClass$otherclass){この行のコードには、参照記号はありませんが、実際には参照参照参照参照です.
では、配列は?PHPで我々が直面するビッグデータのタイプは,オブジェクト,配列,文字列の3種類にすぎず,文字列はパラメータテーブルに参照記号(&)を明確に用いるためである.
配列はどうですか.試してみれば分かります.だから、私はあまり言わない!
オブジェクトパラメータにタイプコンストレイントが追加されても、デフォルト値はオプションのパラメータになります.この場合,関数内部では,入力パラメータがNULLであるか否かを判断する.しかし、一般的にはinstanceofという演算子は必要ありません.(この演算子は特に、否定する場合は(!(A instanceod B))の形式でなければなりません.)デフォルト値が設定されているコードは次のとおりです.
color=$color;
$this->ca = $ca;
$this->array = $array;
$ca->name=$srcStr;
print_r($this);
}
}
$cat=new ca();
$cbt=new cb();
$cbt->test('test','red'); //
$cbt->test('test','blue',$cat); // ,
print_r($cat);
$cat1=new ca();
$arr=array(1,2,3,4,5);
$cbt->test('test','black',$cat1,$arr); //
array_push($arr,6,7,8,9); //
print_r($cbt->array); // 。
?>