關於php函式的問題,關於PHP函式的一個問題

2022-02-11 09:57:30 字數 5113 閱讀 4260

1樓:匿名使用者

注意你的自定義函式中有一個遞迴的呼叫。也就是這個函式被呼叫了不止一次。所以和前一段**的輸出不一樣。

當n減少到2時,if條件失敗,這時會停止遞迴。

望採納,謝謝支援!

php的一個函式裡面的if判斷問題

2樓:felix陽

我們先分析一下你的需求,主要是希望通過同一個函式,來執行3種不同的操作,並且能夠判斷出具體執行的是哪一種操作。

根據你提供的**,應該有以下3種操作:

1、寫入操作:呼叫f方法時,$s一定是有值且值不等於null。

2、讀取操作:呼叫f方法時,$s是不需要傳值的。

3、刪除操作:呼叫f方法時,$s一定傳入null。

示例如下:$fname = "1111";

$s = "22222";

f($fname, $s);

f($fname);

f($fname, null);

function f($fname, $s='')elseif (!empty($s))else

}頁面執行結果:根據f函式的呼叫順序,正確列印了3種操作狀態。

3樓:匿名使用者

先說你的錯誤。

1、函式中$file沒有定義

2、函式f中引數$s預設為null的話,按照你的呼叫方式獲取和刪除是沒有辦法區分的

<?php

// 保留get。寫入字串不能是'get'.

$fname = "1111";

$s = "22222";

f($fname, $s); //寫入

f($fname, 'get'); //獲取f($fname); //刪除

function f($fname, $s = null)elseif($s)else

}還有一種方式。函式f引數設定為三個、第一個為檔名、第二個為操作方式、第三個為寫入字串

php裡面的一個問題,裡函式經常有m 、i 這一類的代表什麼來的呢?

4樓:若風情殤

看你的**應該用的是thinkphp框架,m和i是你用的框架中的方法,m代表把你的資料庫模型例項化,i代表的是網路傳值(get或者post方式傳值),php沒有這樣的系統函式,只是你用的框架自定義的方法

關於php自定義函式

5樓:匿名使用者

這個要根據實際情況,需要返回值的話,你可以加return,不需要的話,你可以不加,兩者的區別一是在於實際需求不同,二是在於加了return的話,程式執行的響應時間上會稍稍的長一點點,不過,這點時間一般不會有什麼影響。比如:

你要輸出一個字串:

function type_str()

這樣的話,可以,但是如果你要判斷是否輸出成功了,你就必須這麼寫:

function type_str()else return false;

}你可以通過程式的返回值來判斷是否輸出成功。還有一些自定義函式處理後的結果也是需要返回的,就得用到return。比如:

function add($a , $b)

函式執行結束後,函式內部定義的變數全部會被銷燬,所以,為了你處理的結果不會白白浪費掉,一定要將$sum 返回。

再告訴你一個小竅門:echo和print是不同的,echo不是一個函式,更沒有返回值,所以你不能寫

if(echo "123") ,但是 print是一個函式,它有返回值,成功則返回true,失敗則返回false,可以寫:if(print("123")); 之類的。所以print要比echo速度慢一點點,一般情況下用echo就行了。

6樓:

首先給函式返回值並不是必須的,有些時候(比如輸出)的函式就無需返回值,如果要返回值就用return,還有如果你的引數用的是地址傳遞也無需加reruen 他自動把修改返應到引數中.

7樓:創作者

php函式分為系統內部函式 和 自定義函式。

自定義函式 使用 function 來自定義一個函式:

格式:function func_name($val)函式的命名跟自定義變數一樣,只能使用 _, a~z, a~z一個自定義函式中的變數是區域性的,函式外不生效使用global全域性變數的時候,在函式外才可使用變數(不建議)為了放置全域性變數的混亂可以使用 unset($var)刪除一個變數例項:

<?php

function _pr()

_pr();

?>

其輸出結果:這是個自定義函式

的賦值-------

php建構函式的一個問題

8樓:

這個肯定是要報錯的,

建構函式中有三個引數,而且引數都沒有預設值,也就是說,你在初始化一個物件的時候一定要把這三個引數填寫完整才可以。

這個是正常的,避免不了,如果要避免的話就是把那三個引數填寫完整。

關於php的陣列函式問題??

9樓:閒置星空

這裡有相關的解釋

php判斷一個類裡面的某個函式是否存在

10樓:海里的月光

1、首先需要新建一個246.php。

2、然後需要按照圖示**輸入php網頁的結構(<?php?>)。

3、然後需要按照圖示**宣告php與瀏覽器互動的檔案型別和編碼。

4、function_exists() 函式的作用: 如果函式已被定義就返回 true,如圖所示為其語法結構。

5、然後需要按照圖示**使用 function_exists() 函式判斷 show() 函式是否已經被定義。

6、執行該網頁,輸出  function_exists() 函式的判斷結果,如圖顯示函式不存在。

11樓:

1、array_key_exists()返回值是一個布林值,如果存在這個鍵名(或者索引)返回true,不存在則返回false。

2、新建一個示範php程式,首先定義一個字串作為需要查詢的」鍵名「,然後定義一個陣列,作為被查詢的陣列。

3、加入鍵名/索引查詢函式array_key_exists(),使用,var_dump()函式,如果存在,將會返回bool(true)。

4、儲存檔案,並在瀏覽器執行**。鍵名"red"存在,螢幕上列印出:bool(true)。

5、將查詢的鍵名修改為陣列中不存在的「black」,儲存檔案,再次執行**,螢幕上列印出:bool(false),表明鍵名「black」不存在。

6、最後定義個索引陣列,判斷索引值是否存在,php陣列索引從0開始計數。索引為2的值是:white,所以索引存在,返回值是true。

12樓:匿名使用者

所以想請問下在php中如何用for來判斷一個數字是否存在於陣列中問題補充:不函式還會檢查 needle 的型別是否和 haystack 中的相同。 注意: 如果 needle

13樓:匿名使用者

method_exists 可以檢查類的方法是否存在

bool method_exists ( object object, string method_name )

如果 method_name 所指的方法在 object 所指的物件類中已定義,則返回 true,否則返回 false。

14樓:匿名使用者

<?php

class cls

}$cls = new cls;

$cls_methods = get_class_methods($cls);

if(in_array('alert',$cls_methods))exit('類成員已存在');

?>

關於php呼叫函式問題 20

15樓:育知同創教育

1.遞推 2.迴歸

遞推:遞推為正向的推導,即從前向後的分析問題,尋找遞推的條件。

1-3求和為例

sum(1) = 1 + 0

sum(2) = 2 + 1

sum(3) = 3 + 2 + 1

可發現sum(1) = 1 + 0

sum(2) = 2 + sum(2-1)

sum(3) = 3 + sum(3-1)

這樣一來把求 sum(3) 轉為求sum(2)的把求sum(2)的轉為求sum(1)

迴歸自後向前再追逆一遍。論證前期推導的正確性。

經過以上分析所以得函式sum的公式為:

sum(n) = n + sum(n-1)

所以sum(n)的函式原型為:

function sum($n)

但這段**還是有問題,因為還缺少了退出條件。所以寫遞迴的時候注意了。一定要寫一個 if 語句用來判斷遞迴何時退出。沒有退出條件的遞迴就是死迴圈。

怎麼退出呢?退出條件是什麼?這裡由於是計算1-3之和所以這個函式的成立條件為 00)

return $n + sum($n-1);

return

return $a; //這裡讓它的最後一次迴圈加了0而不是-1,我這裡執行的跟你的不一樣吧。。呵呵。。因為你的if條件是$n > 1 所在 else 裡 $n <= 1 所以你的最後加了1就退出了。。

}最後總結下執行過程

用一行表示下,也許這樣表達你能明白,這段**就相當於如下的公式。

sum(3+sum(2+sum(1)))

如果讓你去執行你會如何呢?

你會先看到外層的sum(3+當看到+號了發現後面還有一個函式沒有求,哎算了。。。sum(3)現在求不了我把sum(2)求出來再求sum(3)吧,於

是你看sum(2

又是看到+號後面又有了一個sum函式是求sum(1)的心想這回看你還有沒有了。。嘻嘻。。。好了sum(1)求出來了再把sum(1)的值返回再加上

2 也就是求出了sum(2),sum(2)求出來了再加上3,sum(3)也求出了最後函式執行終止

php函式問題!PHP,函式問題

1.為了程式可讀性,可重用,將程式分模組進行,於是出現了函式這個概念,php關鍵字肯定不能說成是函式。2.因為應用不同,語言設計者不可能幫你定義好所有函式 那就不用學程式設計了,記住所有函式算了 根據自己的需要,自定自己的函式,這才是自己的東西。每一個程式語言都會有函式,在php中有時需要反覆使用一...

php關於update語句的問題

result mysql query sql,conn 這一行上面用。var dump sql 把 sql列印出來看看是什麼,直接執行列印出來的sql看報不報什麼錯誤。php中執行update語句的問題 php update語句的問題 要 的,你就別截圖唄,我們改著也方便。你把 id isset p...

關於php的就業前景,關於PHP的就業前景

目測現在的程式設計師越來越多了 php現在的就業前景如何?我覺得挺好的。總看到黑培訓班的,說實在話,現在這個物價,想花幾千塊錢找個能給你幹架構的嗎?基礎碼農,工作也不愁,認真擼 慢慢提升自己。還有,有的時候工資要的高,真不是覺得自己多厲害,而是錢少了,不夠花。如果有計算機基礎,學起來會很容易,如果沒...