如何判断一个数组是否有元素?
How to determine if an array has any elements or not?
如何判断一个数组是否有一个或多个元素?
我需要执行一段数组大小大于零的代码。
if ($result > 0) {
// Here is the code body which I want to execute
}
else {
// Here is some other code
}
count
— 计算数组中的所有元素,或对象中的某些元素
int count ( mixed $array_or_countable [, int $mode = COUNT_NORMAL ] )
计算数组中的所有元素,或对象中的某些元素。
示例:
<?php
$a[0] = 1;
$a[1] = 3;
$a[2] = 5;
$result = count($a);
// $result == 3
在你的情况下,它就像:
if (count($array) > 0)
{
// Execute some block of code here
}
您可以使用 count()
或 sizeof()
PHP 函数:
if (sizeof($result) > 0) {
echo "array size is greater than zero";
}
else {
echo "array size is zero";
}
或者您可以使用:
if (count($result) > 0) {
echo "array size is greater than zero";
}
else {
echo "array size is zero";
}
您可以使用简单的 foreach 避免长度检索和检查:
foreach($result as $key=>$value) {
echo $value;
}
@Sajid Mehmood in PHP we have count() to count the length of an array,
when count() returns 0 that means that array is empty
举个例子来加深理解:
<?php
$arr1 = array(1); // With one value which will give 1 count
$arr2 = array(); // With no value which will give 0 count
// Now I want that the array which has greater than 0 count should print other wise not so
if (count($arr1)) {
print_r($arr1);
}
else {
echo "Sorry, array1 has 0 count";
}
if (count($arr2)) {
print_r($arr2);
}
else {
echo "Sorry, array2 has 0 count";
}
如果你只想检查数组是否不为空,你应该使用empty()
——它比count()
快得多,而且可读性也更好:
if (!empty($result)) {
// ...
} else {
// ...
}
对于那些以 PHP 中的数组开头的人,可以这样表示:
more information here
//Array
$result = array(1,2,3,4);
//Count all the elements of an array or something of an object
if (count($result) > 0) {
print_r($result);
}
// Or
// Determines if a variable is empty
if (!empty($result)) {
print_r($result);
}
// Or
// sizeof - Alias of count ()
if (sizeof($result)) {
print_r($result);
}
<pre>
$ii = 1;
$arry_count = count($args);
foreach ( $args as $post)
{
if( $ii == $arry_count )
{
$last = 'blog_last_item';
}
echo $last;
$ii++;
}
</pre>
专业提示:
如果您确定:
- 变量存在 (isset) AND
- 变量类型是一个数组 (is_array) ...可能对所有 is_iterables 都是正确的,但我还没有研究问题范围的扩展。
那么你不需要调用任何函数。 一个包含一个或多个元素的数组的布尔值为true
。没有元素的数组的布尔值为 false
.
代码:(Demo)
var_export((bool)[]);
echo "\n";
var_export((bool)['not empty']);
echo "\n";
var_export((bool)[0]);
echo "\n";
var_export((bool)[null]);
echo "\n";
var_export((bool)[false]);
echo "\n";
$noElements = [];
if ($noElements) {
echo 'not empty';
} else {
echo 'empty';
}
输出:
false
true
true
true
true
empty
如何判断一个数组是否有一个或多个元素?
我需要执行一段数组大小大于零的代码。
if ($result > 0) {
// Here is the code body which I want to execute
}
else {
// Here is some other code
}
count
— 计算数组中的所有元素,或对象中的某些元素
int count ( mixed $array_or_countable [, int $mode = COUNT_NORMAL ] )
计算数组中的所有元素,或对象中的某些元素。
示例:
<?php
$a[0] = 1;
$a[1] = 3;
$a[2] = 5;
$result = count($a);
// $result == 3
在你的情况下,它就像:
if (count($array) > 0)
{
// Execute some block of code here
}
您可以使用 count()
或 sizeof()
PHP 函数:
if (sizeof($result) > 0) {
echo "array size is greater than zero";
}
else {
echo "array size is zero";
}
或者您可以使用:
if (count($result) > 0) {
echo "array size is greater than zero";
}
else {
echo "array size is zero";
}
您可以使用简单的 foreach 避免长度检索和检查:
foreach($result as $key=>$value) {
echo $value;
}
@Sajid Mehmood in PHP we have count() to count the length of an array, when count() returns 0 that means that array is empty
举个例子来加深理解:
<?php
$arr1 = array(1); // With one value which will give 1 count
$arr2 = array(); // With no value which will give 0 count
// Now I want that the array which has greater than 0 count should print other wise not so
if (count($arr1)) {
print_r($arr1);
}
else {
echo "Sorry, array1 has 0 count";
}
if (count($arr2)) {
print_r($arr2);
}
else {
echo "Sorry, array2 has 0 count";
}
如果你只想检查数组是否不为空,你应该使用empty()
——它比count()
快得多,而且可读性也更好:
if (!empty($result)) {
// ...
} else {
// ...
}
对于那些以 PHP 中的数组开头的人,可以这样表示: more information here
//Array
$result = array(1,2,3,4);
//Count all the elements of an array or something of an object
if (count($result) > 0) {
print_r($result);
}
// Or
// Determines if a variable is empty
if (!empty($result)) {
print_r($result);
}
// Or
// sizeof - Alias of count ()
if (sizeof($result)) {
print_r($result);
}
<pre>
$ii = 1;
$arry_count = count($args);
foreach ( $args as $post)
{
if( $ii == $arry_count )
{
$last = 'blog_last_item';
}
echo $last;
$ii++;
}
</pre>
专业提示:
如果您确定:
- 变量存在 (isset) AND
- 变量类型是一个数组 (is_array) ...可能对所有 is_iterables 都是正确的,但我还没有研究问题范围的扩展。
那么你不需要调用任何函数。 一个包含一个或多个元素的数组的布尔值为true
。没有元素的数组的布尔值为 false
.
代码:(Demo)
var_export((bool)[]);
echo "\n";
var_export((bool)['not empty']);
echo "\n";
var_export((bool)[0]);
echo "\n";
var_export((bool)[null]);
echo "\n";
var_export((bool)[false]);
echo "\n";
$noElements = [];
if ($noElements) {
echo 'not empty';
} else {
echo 'empty';
}
输出:
false
true
true
true
true
empty