php set error handle 引數是陣列,則麼回事

時間 2025-06-17 15:40:09

1樓:網友

考慮以下**:

class callbackclass {

function callbackfunction()

refers to $this

盯襪 function staticfunction()

doesn't refer to $this

function nonclassfunction()

在php裡有三種方法來設定響應函式(櫻乎使用set_error_handler() 函式作示例):

1: set_error_handler('nonclassfunction');

2: set_error_handler(array('callbackclass', staticfunction'))

3: $o =&new callbackclass();

set_error_handler(array($o, 'callbackfunction'))

也就是說,通常,你可以簡單地設定某個函式做為錯誤的響應處理函式,但當這個函式是某個類凱頌激函式時,其使用方法就是如 set_error_handler(array('callbackclass', staticfunction'))這種形式。

set_exception_handler 與此原理類似。

2樓:秋日的思雨

1、引數是乙個滲叢可**的函盯喊則數和乙個錯誤級別。

2、引數是乙個陣列的話,那說明這個陣列的第乙個元素凱棚是類名或物件名稱,第二個元素是方法名。

php 超連結裡的引數如何傳遞陣列

3樓:幻翼高達

2、在中,輸入**:var_dump($_get['name']);

3、瀏覽器訪問?name=1&name=2,此時會列印出陣列傳遞結果。

4樓:網友

答:url傳參不支援陣列。

方法1: 把陣列遍歷出來,組成鍵值對傳過去在接收。

方法2:把陣列序列化,接收後在反轉。

示例:$arr = array('1','2','3');

str = base64_encode(serialize($arr));//此時陣列已經轉換為字串。

a = unserialize(base64_decode($str));

print_r($a);

5樓:奇愛主機網

和普通的引數一樣傳遞即可,獲取後直接是傳之前一樣的陣列。

請問在php裡是如何把陣列作為引數傳遞給函式??

6樓:網友

陣列可以直接作為引數傳進函式去的。

如果你想把陣列傳進去經過函式處理後,不通過return獲取陣列的變化。你可以把陣列的引用傳進去。例如。

a = array(1,2,3);

test($a);

print_r($a);//你就會發現。$a已經和之前不一樣了function test(&$a)

7樓:網友

指標的方式,應該類似於c

如果我沒理解錯的話,你應該問 陣列可不可以作為引數傳遞給函式?

函式的引數可以是任意變數。

php sql條件引數為陣列

8樓:匿名使用者

1、將二維陣列轉換為一維陣列。

arr_2 (這是二維陣列,就是你上邊那個型別的,我這裡就不貼了)

arr_1 (這個儲存轉化後的一維陣列)下面是二維轉化一維陣列過程:

for($i=0;$i$val)

輸出結果是所有的cat_id 鍵值。至於sql 中的迴圈,我想你看了這個以後應該會了。

原理就是將二維轉換為一維陣列,然後根據條件實現迴圈查詢。這個轉化的過程,你可以使用for迴圈,也可以使用php自帶的合併陣列函式,也可以使用高階點的spl高階陣列合並。當然看你程式需要,如果是應用比較簡單的,迴圈是最佳選擇。

另外,邀請你加入我們php實驗室,相互學習。在此,祝聖誕快樂。

9樓:匿名使用者

這是乙個二維的陣列,陣列是可以多維的,其實最終的實現還是一維,說多了。額。如果不懂陣列的概念,建議還是多看資料,多做例子,我可以這樣寫sql條件cid=array ( 0] => array ( cat_id] => 2 ) 1] => array ( cat_id] => 3 ) sql=cd[0][cat_id]這樣cat_id的值就為2了。

php判斷乙個引數在乙個陣列中是否存在

10樓:網友

array_search() 函式與 in_array() 一樣,在陣列中查詢乙個鍵值。如果找到了該值,匹配元素的鍵名會被返回。如果沒找到,則返回 false。

在 php 之前,函式在失敗時返回 null 而不是 false。

如果第三個引數 strict 被指定為 true,則只有在資料型別和值都一致時才返回相應元素的鍵名。

你的$c是字串。

c=array(1,2,3,4); 這樣才是陣列$result = array_search($a, $c);

這裡要用三個等於號,因為兩個等於號,如果鍵名是0也會進來if ($result === false) else

php中要使用陣列的話必須先定義乙個變數為array()嗎???

11樓:陽光上的橋

不是必須的,可以不先用array()初始化,例如下面的**能正常執行:

arr[0]='abc';

arr[1]='def';

print_r($arr);

並且正確的輸出下面的結果:

array[0] => abc

1] => def

當然,使用陣列前使用array()初始化一下有兩個好處,一是如果之前用過這個名字可以初始化,二是程式以後更容易被人看懂,例子**:

arr=123;

arr=array();

arr[0]='abc';

arr[1]='def';

print_r($arr);

輸出結果與前例相同。

12樓:網友

在php中宣告陣列主要有2種方式:

一 是應用array()函式宣告陣列。

二 是直接為陣列元素賦值。

1, $array=array('php'=>1,'jsp'=>2,'asp'=>3);

這種方式, 陣列的鍵和值都由程式設計師自己配置。

輸出時使用 echo $array['php'] 就可以獲取到 1 的值。

2, $array=array(5,26,37,18,9,42,88,66);

這種方式, 程式設計師無需自己設定陣列的'鍵' (或者叫 key )

輸出時使用 echo $array[1] 就可以獲取到 26 這個數字。

不能說哪種更好, 程式設計時按實際情況去決定。

個人比較常用後者, 只有在要求格式化輸出時,才考慮第一種。

13樓:曉

最好定義下!也可以不定義。

14樓:網友

如樓上所說,php是弱型別變數,寫到**需要乙個變數了,就直接定義賦值就行,無需提前宣告,當然你提前宣告也沒有錯的。

15樓:義烏人才網

php是弱型別,不需要定義陣列,可以直接使用。