2016-12-17 8 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

приятно, но можно ли указать 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