2013-04-28 56 views
0

我的函數有一個錯誤。PHP通知數組到字符串轉換

聲明:Array對....

只是我想檢查數組可用性&回報,如果有字符串轉換。我搜查了,但我做不到。

這裏是我的功能:

function if_array_exists($array,$value) { 
    if(isset($array[$value]) || array_key_exists($value,$array)) { 
     $result=array(); 
     $result[0]=$value; 
     return $result; 
    } else { 
     return '<!--- no array named as '.$value.' value in ---!>'; 
    } 
} 
+0

你'可能傳入一個字符串作爲'$ array'參數,檢查調用代碼,看看你傳遞的是什麼參數 – Bojangles 2013-04-28 19:53:53

+4

調試你的代碼,首先看看導致錯誤的行,然後檢查你是什麼傳遞給函數等,像@Bojangles建議的那樣! – michi 2013-04-28 19:57:52

回答

2

如果你檢查,看它是否是一個真正的數組首先,應防止通知(因爲它會直接跳到別的

function if_array_exists($array,$value) { 
    if(is_array($array) && (isset($array[$value]) || array_key_exists($value,$array))) { 
     $result=array(); 
     $result[0]=$value; 
     return $result; 
    } else { 
     return '<!--- no array named as '.$value.' value in ---!>'; 
    } 
} 
+0

謝謝。我已經解決了這個函數的問題:http://paste2.org/pXkLwDGI – 2013-04-28 20:09:59