ホームページ  >  記事  >  バックエンド開発  >  PHPで配列内の0より大きい要素の数を見つける方法

PHPで配列内の0より大きい要素の数を見つける方法

青灯夜游
青灯夜游オリジナル
2022-08-19 18:24:442791ブラウズ

実装手順: 1. array_filter() 関数を使用してコールバック関数を呼び出し、配列をフィルタリングし、0 より大きい要素を返します。構文「function f($num){return($num>0)」 ;}$res= array_filter($arr,"f");" は、0 より大きい要素を含むフィルター処理された配列を返します。 2. count() 関数を使用して、フィルター処理された配列の長さ (要素の数) を取得します。 0 より大きい。構文「count (フィルター配列)」。

PHPで配列内の0より大きい要素の数を見つける方法

このチュートリアルの動作環境: Windows7 システム、PHP バージョン 8.1、DELL G3 コンピューター

php では、以下を使用できます。 array_filter () 関数と count() 関数を使用して、配列内の 0 より大きい要素の数を見つけます。

実装手順:

#ステップ 1: array_filter() 関数を使用してフィルタリングします。配列、0

より大きい配列内の要素を返します。array_filter() 関数はコールバック関数を使用して配列内の要素をフィルタリングし、フィルタリングされた配列を返します。

この関数は、入力配列内の各キー値をコールバック関数に渡します。コールバック関数が true を返した場合、入力配列の現在のキー値が結果配列に返されます。配列キー名は変更されません。

<?php
header(&#39;content-type:text/html;charset=utf-8&#39;);   
function f($num){
	 return($num>0);
}
$arr=array(2,-1,4,-8,-10,-5,9);
var_dump($arr);
$res=array_filter($arr,"f");
echo "过滤不大于0的数组后:";
var_dump($res);
?>

PHPで配列内の0より大きい要素の数を見つける方法

配列内の 0 以下の要素をフィルタリングした後、返されたフィルタリングされた配列に含まれる要素はすべて 0 より大きくなります。


ステップ 2: count() 関数を使用して、フィルター処理された配列の長さ、つまり 0

count より大きい要素の数を取得します。 () 関数は配列内の要素の数を返します。

<?php
header(&#39;content-type:text/html;charset=utf-8&#39;);   
function f($num){
	 return($num>0);
}
$arr=array(2,-1,4,-8,-10,-5,9);
var_dump($arr);
$res=array_filter($arr,"f");
echo "过滤不大于0的数组后:";
var_dump($res);

$len=count($res);
echo "数组中大于0的元素个数为:".$len;
?>

PHPで配列内の0より大きい要素の数を見つける方法

説明:

1、array_filter

array_filter — コールバック関数を使用して配列の要素をフィルタリングします

array_filter(array $array, ?callable $callback = null, int $mode = 0): array

パラメータ:

◇array: 走査する配列

◇callback: 使用されるコールバック関数

コールバック関数が指定されていない場合、配列内の配列のすべての「空」要素が削除されます。 PHP が「空」要素を判断する方法については、empty() を参照してください。

◇モードは、どのパラメータがコールバック フラグに送信されるかを決定します:

  • ARRAY_FILTER_USE_KEY - 値ではなく、キー名をコールバック コールバックの唯一のパラメータとして使用します

  • ARRAY_FILTER_USE_BOTH - 値だけを渡すのではなく、値とキーの両方を引数としてコールバックに渡します。

  • デフォルト値は 0 で、値のみを渡します。コールバックとしての値 唯一のパラメータ。

戻り値: フィルター処理された配列を返します。

  • array_filter は、配列 array 内の各値を反復処理し、各値をコールバック コールバック関数に渡します。コールバック関数が true を返した場合、配列の現在の値が結果配列に返されます。

  • 返された結果配列のキー名 (添字) は変更されません。配列パラメーターがインデックス配列の場合、返された結果配列のキー名 (添字) は不連続になる可能性があります。 。 array_values() 関数を使用して配列のインデックスを再作成できます。

  • array_filter()関数を使用してコールバック関数を宣言すると、偽の値(null値)が削除されますが、コールバック関数が指定されていない場合、値は削除されます。 FALSE に等しい配列内のすべての要素 (空の文字列や NULL 値など) が削除されます。

2. count()

count() 関数は、配列内のすべての要素の数、または属性の数をカウントできます。 object の構文形式は次のとおりです:

count($array , $mode )

パラメータの説明は次のとおりです:

    $array: カウントされる配列またはオブジェクトです。
  • $mode: はオプションのパラメータであり、省略できます。
    • $mode パラメータが省略されている場合、または COUNT_NORMAL または 0 に設定されている場合、count() 関数は多次元配列を検出しません;
    • $mode が COUNT_RECURSIVE または 1 に設定されている場合、カウントは() 関数は、配列内の要素の数を再帰的にカウントします。特に多次元配列内の要素の数をカウントする場合に役立ちます。
ヒント: $array が配列でもオブジェクトでもない場合、count() 関数は 1 を返します。$array が NULL に等しい場合、カウントは 1 を返します。 () 関数は 0 を返します。

sizeof() 関数は count() 関数のエイリアスです。つまり、sizeof() 関数の機能と使用法は count() 関数とまったく同じです。

推奨学習: 「

PHP ビデオ チュートリアル

以上がPHPで配列内の0より大きい要素の数を見つける方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。