web-dev-qa-db-ja.com

配列に要素があるかどうかを判断する方法は?

配列に1つ以上の要素があるかどうかを確認するにはどうすればよいですか?

配列のサイズがゼロより大きいコードブロックを実行する必要があります。

if ($result > 0) {
    // Here is the code body which I want to execute
} 
else {
    // Here is some other code
}
26
Sajid Mehmood

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";
}
30
Dani

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
}
14
Mayank Pandeyz

単純なforeachを使用して、長さの取得とチェックを回避できます。

foreach($result as $key=>$value) {
    echo $value;
}
3
scaisEdge

配列が空でないかどうかだけをチェックしたい場合は、 empty() を使用する必要があります。これはcount()よりもはるかに高速で、読みやすくなっています。

if (!empty($result)) {
    // ...
} 
else {
    // ...
}
3
rob006

PHPの@Sajid Mehmood count()が0を返し、配列が空であることを意味する場合、配列の長さをカウントするcount()があります

理解のために例を挙げましょう:

<?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";
    }
1
Vishal Solanki

プロのヒント:

確信がある場合:

  1. 変数が存在する(設定)AND
  2. 変数の型は配列(is_array)です...すべてのis_iterablesに当てはまる場合がありますが、質問スコープの拡張については調査していません。

その後、関数を呼び出す必要はありません。1つ以上の要素を持つ配列は、trueのブール値を持ちます。要素のない配列には、falseのブール値があります。

コード:( デモ

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    
0
mickmackusa

PHPの配列で始まる人は、次のように提示しました: 詳細はこちら

//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);
} 
0
shades3002