如何使数组中的空元素被视为不存在于 PHP 中?
How to make an empty element in array be considered non existing in PHP?
$var1=1; $var2=2; $var3='';
$array= array ( $var1 , $var2, $var3 );
echo count($array);
// Result (3)
我希望计数结果为 (2) 并且尽可能不循环。
我想知道是否有办法,因为我假设有 3 个键。如何消除具有空值的键?这对我来说可以简化很多事情。
您可以使用 array_filter 只保留数组中的非空值,如下所示:
array_filter($array);
所以,只计算非空:
count(array_filter($array));
针对您在评论中提到的问题。看看这是否有帮助:
假设您有以下数组和查询 $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);
使用
取消设置():
$var1=1; $var2=2; $var3='';
$array= array ( $var1 , $var2, $var3 );
unset($array[2]);
echo count($array);
$var1=1; $var2=2; $var3='';
$array= array ( $var1 , $var2, $var3 );
echo count($array);
// Result (3)
我希望计数结果为 (2) 并且尽可能不循环。 我想知道是否有办法,因为我假设有 3 个键。如何消除具有空值的键?这对我来说可以简化很多事情。
您可以使用 array_filter 只保留数组中的非空值,如下所示:
array_filter($array);
所以,只计算非空:
count(array_filter($array));
针对您在评论中提到的问题。看看这是否有帮助:
假设您有以下数组和查询 $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);
使用
取消设置():
$var1=1; $var2=2; $var3='';
$array= array ( $var1 , $var2, $var3 );
unset($array[2]);
echo count($array);