2013-03-14 41 views
-2

我需要PHP計數返回0爲空使用服務器或MySQL。其實,在我的情況下,很多地方我已經使用計數功能,當我上傳我的代碼到客戶端服務器PHP計數返回1爲empty.So,這是創造很多問題。如果有任何解決方案,請回復我。我不想改變伯爵所用的所有地方。php count返回1爲服務器上的空陣列解決方案

+2

顯示數組。使用'array_filter'。 – Rikesh 2013-03-14 06:06:34

+2

我們需要帶有數據樣本的代碼樣本 – 2013-03-14 06:06:45

+0

這是一個簡單的例子, $ TempArr = array(); echo count($ TempArr); //輸出= 1比0 我不想在這段代碼中做任何改變,想改變服務器配置或mysql。 – user2168456 2013-03-14 06:10:33

回答

3

如果我沒有得到你的錯誤,你傳遞一個非數組元素到count
請看下面的例子代碼..

代碼1:

$var = false; 
echo count($var); // print 1 

代碼2:

$var = array(); 
echo count($var); // print 0 

代碼3:

$var = array(''); 
echo count($var); // print 1 

所以你應該更好地檢查元素是否是數組。

if(is_array($var)) 
{ 
    $var = array_filter($var); 
    echo count($var); 
} 
else 
{ 
    echo 0; 
} 

Codepad

+0

在大多數情況下計數(空數組)返回0,但在我的客戶端服務器中返回1.我在許多地方都使用過該代碼。我不想更改代碼。如果任何有關數據庫或服務器的解決方案設置該值,請讓我知道.... – user2168456 2013-03-14 06:21:57

+0

看到更新的答案和鍵盤。 – 2013-03-14 06:27:56

+0

我已經爲選擇查詢編寫代碼。這是給我空白陣列。當我使用count($ ResultArray)時,它返回1而不是0.實際上應該返回0表示1.如果你有任何解決方案沒有改變php代碼意味着改變服務器設置或數據庫,那麼請讓我知道。在我的服務器中它返回0,但在客戶端服務器上返回1. – user2168456 2013-03-14 06:52:42