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

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

私はカウント結果を(2)にしたい場合はループしないでください。 3つのキーがあると仮定しているので、方法があるのだろうかと思います。空の値を持つキーを削除するにはどうすればよいですか?これは私に多くの事を単純化することができます。配列内の空の要素をPHPに存在しないとみなす方法はありますか?

+3

'回数(array_filter($配列)) ; ' –

+0

* "可能な場合はループせずに" *なぜ、なぜですか? – Rizier123

+0

niceですが、call_user_func_array()に送信せずに何かを見られるようにすることは可能です:型定義文字列の要素数がnumber ...と一致しません...? – 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

関連する問題