php函數參數類型
A. 一個基礎的php問題,關於函數的參數類型限制問題
應為$this->array裡面沒有東西,輸出什麼?
print_r($this->storearray
=
$storearray);做了兩件事,將$storearray復制給了$this->array,並且講其pringt_r了出來,如果不這樣寫,那麼就是這么寫的
$this->storearray
=
$storearray
print_r($storearray);
你看那個代碼簡單整潔
B. php的函數中參數的命名規范是怎樣的
參數的命名規范和變數的命名規范是一樣的:
1.必須要以$開始。如變數x必須要寫成$x
2.變數的首字母不能以數字開始
3.變數的名字區分大小寫
4.變數不要用
特殊符號
、中文,_不算特殊符號
5.變數命名要有意義(別寫xxx,aaa,ccc這種
變數名)
具體的話可以參考php中文網的介紹http://www.php.cn/code/974.html,希望對你有幫助
C. PHP給函數約束參數類型,為毛出錯了。
php 無法約束 int , sring 類型的參數,只可以約束數組和對象這些類型,你可以使用下面的方式檢測函數參數是否為數字。
<?php
//test11.php
//is_int()
functiona($bar){
if(is_int($bar)){
echo$bar.'是數字<br>';
}else{
echo$bar.'不是數字<br>';
}
}
//is_numeric()
functionb($bar){
if(is_numeric($bar)){
echo$bar.'是數字<br>';
}else{
echo$bar.'不是數字<br>';
}
}
//intval()
functionc($bar){
if(intval($bar)!=0){
echo$bar.'是數字<br>';
}else{
echo$bar.'不是數字<br>';
}
}
echo'<metacharset="utf-8">';
echo'<br>使用is_int()檢測變數是否是數字<br>';
$n1=6;
$n2='a';
$n3='7';
a($n1);
a($n2);
a($n3);
echo'<br>使用is_numeric()檢測變數是否是數字<br>';
$n4=9;
$n5='ab';
$n6='10';
b($n4);
b($n5);
b($n6);
echo'<br>使用intval()檢測變數是否是數字<br>';
$n7=11;
$n8='abc';
$n9='12';
c($n7);
c($n8);
c($n9);
從上面的例子,應該可以清楚的看到 is_int、 is_numeric、 intval 區別。
D. php有沒有什麼函數可以獲取一個方法中的參數名和參數類型的
沒有吧,,可以定義一個static 靜態變數 全局變數,,然後用gettype() 判讀類型
E. php類方法中參數問題,參數怎麼是一個類名 加上變數,怎麼理解
PHP 5 可以使用類型約束。函數的參數可以指定只能為對象(在函數原型裡面指定類的名字),PHP 5.1 之後也可以指定只能為數組。
註:PHP7之後可以指定int,string等。
代表方法baz()接收的參數是一個對象,並且指定必須是Test類實例化的對象。
比如在後面加如下代碼就能正常輸出:string(5) "hello"
12345
$a=new Test(111);$a->baz($a);
但是如果換成如下代碼:
class B{}
$b=new B();
$a=new Test(111);
$a->baz($b);
就會報錯:Catchable fatal error: Argument 1 passed to Test::baz() must be an instance of Test, instance of B given
簡單意思就是:傳遞參數必須是實例化Test,你傳B的對象是不對的。
F. 在PHP方法(或成員函數)上除了對象可作為參數限定類型外,還有什麼可作為參數限定類
如果你指的是在定義php函數(方法)時,對參數類型進行類型限定的話(類似C和DELPHI語言的強類型檢測定義的那種),那麼,據查閱資料,答案如下:
php只有數組和對象兩種限定類型。
PHP 5 可以使用類型約束。函數的參數可以指定只能為對象(在函數原型裡面指定類的名字),php 5.1 之後也可以指定只能為數組。
注意,即使使用了類型約束,如果使用NULL作為參數的默認值,那麼在調用函數的時候依然可以使用NULL作為實參。
G. php函數有哪倆種分類函數有哪些參數傳遞方式什麼是默認參數
可以。但是有點區別比如:自定義php函數叫functionmyfun($param1="參數一的數值",$param2="參數二的數值"){}那麼js裡面初始化默認值需要這樣:
H. 如何使用類型約束來限定php函數類型
php 無法約束 int , sring 類型的參數,只可以約束數組和對象這些類型,你可以使用下面的方式檢測函數參數是否為數字。
?php
//test11.php
//is_int()
functiona($bar){
if(is_int($bar)){
echo$bar.'是數字
';
}else{
echo$bar.'不是數字
';
}
}
//is_numeric()
functionb($bar){
if(is_numeric($bar)){
echo$bar.'是數字
';
}else{
echo$bar.'不是數字
';
}
}
//intval()
functionc($bar){
if(intval($bar)!=0){
echo$bar.'是數字
';
}else{
echo$bar.'不是數字
';
}
}
echo'';
echo'
使用is_int()檢測變數是否是數字
';
$n1=6;
$n2='a';
$n3='7';
a($n1);
a($n2);
a($n3);
echo'
使用is_numeric()檢測變數是否是數字
';
$n4=9;
$n5='ab';
$n6='10';
b($n4);
b($n5);
b($n6);
echo'
使用intval()檢測變數是否是數字
';
$n7=11;
$n8='abc';
$n9='12';
c($n7);
c($n8);
c($n9);如果你還不明白的話,你可以在後盾人平台看看教材視頻,多看看幾遍,慢慢的不就會了,如果嫌棄麻煩,你可以直接去後盾人線下面授培訓問問那些專家講師,他們很樂意幫你的,希望能幫到你,給個採納吧謝謝,(ʘ̆㉨ʘ̆)
I. PHP自定義函數時怎麼指定參數類型
class User{
public $name;
public $password;
function __construct($name,$password){
$this->name=$name;
$this->password=$password;
}
}
//參數可以指定對象類型
function f1(User $user){
echo $user->name,」,」,$user->password;
}
//參數可以指定數組類型
function f2(array $arr){}
//參數不可以指定基本類型,下面一句會出錯
function f3(string $s){}
J. PHP的幾種函數參數類型及一些特殊函數
給你整理如下:
默認參數:在函數聲明時給參數賦值,而且此默認參數只能在最後,調用時可不傳遞任何參數(若只有默認參數的情況下)
可變參數:一個函數可能需要可個可變數目的參數。在php中,提供了三個函數用於檢索函數中所傳遞的參數。func_get_args()返回一個提供提供給函數的所有參數的數組;func_num_args()返回提供給函數的參數數目;func_get_arg()返回一個來自參數的特定參數。具體如下:
$array = func_get_args();
$count = func_num_args();
$value = func_get_arg();
遺漏參數:當調用函數時,可以傳遞任意個參數給函數。當函數必要的參數沒有i被傳遞時,此參數值是空,並且PHP會為每個遺漏的參數發出警告
可變函數:使用可變變數,可以基於變數的值調用函數
匿名函數:又叫閉包函數,允許臨時建立一個沒有指定名稱的函數,最經常用作回調函數參數的值。需要注意的是,在匿名函數內的變數的用法不同於全局變數,在匿名函數內的變數是一個閉包變數,另外,被調用閉包的作用域不必是相同的。