2016-12-17 50 views
0
$var1=1; $var2=2; $var3=''; 
$array= array ($var1 , $var2, $var3); 

echo count($array); 
// Result (3) 

我希望計數結果爲(2),並且如果可能的話,不循環。 我想知道有沒有辦法,因爲我認爲有3個鍵計數。我如何消除空值的密鑰?這可以爲我簡化很多事情。如何在數組中創建一個空元素被認爲不存在?

+3

'計數(array_filter($陣列)) ;' –

+0

*「,如果可能的話,不循環」*爲什麼,爲什麼? – Rizier123

+0

不錯,但是是否有可能告訴call_user_func_array()在不發送的情況下以這種方式查看事物:類型定義字符串中的元素數與數字不匹配? – alexis

回答

0

使用

未設置():

$var1=1; $var2=2; $var3=''; 
$array= array ($var1 , $var2, $var3); 
unset($array[2]); 

echo count($array); 
+0

我試圖利用你的方式,看起來像這樣可以幫助 – alexis

+0

你的情況最能幫助解決我的問題。謝謝,但也要感謝所有想要幫助的人 – alexis

2

您可以使用array_filter只保留在陣列中的非空的值,如:所以

array_filter($array); 

,數只非空:

count(array_filter($array)); 

對於你在評論中提到的問題。看看這有助於:

假設你有以下陣列和uery $sql

$arr ="$name, $pass, $email, $contact, $company"; 
$result = $connection->prepare("$sql"); 
$newarr = array_merge((array) $types, $arr); 
call_user_func_array(array($result, 'bind_param'), $newarr); 
+0

可以通過任何方式告訴call_user_func_array()在綁定參數的同時查看事情並防止錯誤:類型定義字符串中元素的數量與綁定變量的數量不匹配...? – alexis

+0

我馬上更新我的答案 – ab29007

+0

我更新了我的答案。看看這是否有幫助 – ab29007

相關問題