ホームページ  >  記事  >  バックエンド開発  >  PHPで配列の最小要素を見つける方法

PHPで配列の最小要素を見つける方法

青灯夜游
青灯夜游オリジナル
2022-10-17 19:02:031864ブラウズ

実装手順: 1. asort() 関数を使用して配列をキー値の昇順にソートします 構文は「asort (元の配列)」です ソート後、最小の要素が先頭に集中します配列の; 2. array_slice を使用する () 関数は配列の先頭から最小 N 個の要素をインターセプトでき、構文は「array_slice (sorted array, 0, N)」です。

PHPで配列の最小要素を見つける方法

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

PHP では、asort( ) 関数と array_slice() 関数を使用して、配列の最小 N 要素を見つけます。

実装アイデア:

  • 配列の順序を変更し、配列要素を小さいものから大きいものの昇順に並べ替えます。 (この方法では、最小の要素が配列の先頭にあります)

  • N 個の配列要素を配列 kait から直接インターセプトするだけです。

実装手順:

1. asort() 関数を使用して配列を昇順に並べ替えます。キー値による並べ替え

<?php
header(&#39;content-type:text/html;charset=utf-8&#39;);   
$arr=array(34,3,-1,-6,42,12,1);
echo "原数组:";
var_dump($arr);
asort($arr);
echo "升序排序后:";
var_dump($arr);
?>

PHPで配列の最小要素を見つける方法

並べ替え後は、最小の要素が配列の先頭にあり、指定された要素をインターセプトするだけでよいことがわかります。必要に応じて番号を入力します。

ステップ 2: array_slice() 関数を使用して、配列の先頭から N 個の要素をインターセプトします。

array_slice() 関数は、インターセプトのために PHP によって提供される関数です。 arrays

配列の先頭から N 個の要素をインターセプトする場合は、2 番目のパラメーターを 0 に設定し、3 番目のパラメーターを要素数 N に設定するだけです。

array_slice(排序后数组,0,N)

例: 配列の最小の 2、3、および 4 要素を取得する

<?php
header(&#39;content-type:text/html;charset=utf-8&#39;);   
$arr=array(34,3,-1,-6,42,12,1);
echo "原数组:";
var_dump($arr);
asort($arr);
echo "升序排序后:";
var_dump($arr);

echo "获取数组最小的2个元素:";
$result = array_slice($arr,0,2); //截取数组前2位的元素
var_dump($result);

echo "获取数组最小的3个元素:";
$result = array_slice($arr,0,3); //截取数组前3位的元素
var_dump($result);

echo "获取数组最小的4个元素:";
$result = array_slice($arr,0,4); //截取数组前3位的元素
var_dump($result);

?>

PHPで配列の最小要素を見つける方法

拡張知識: 関数の概要

1. asort() 関数

asort() 関数は、連想配列を次の順序で昇順に並べ替えます。キーの値と、元の配列内のキー名は変更されません。

asort($array,$sortingtype)

asort() 関数には、$array (必須) と $sortingtype (省略可能) の 2 つのパラメーターがあります。

このうち、$sortingtype パラメータは、関数のソート モードを定義し、配列の要素/項目の比較方法を指定するために使用されます。デフォルト値は "SORT_REGULAR" です。

$sortingtype パラメータは次の値に設定できます:

  • 0 = SORT_REGULAR: 型を変更せずに配列要素を通常どおり比較します (デフォルト値);

  • 1 = SORT_NUMERIC: 配列要素を数値として扱う;

  • ##2 = SORT_STRING: 配列要素を文字列として扱う;

  • 3 = SORT_LOCALE_STRING: 現在のロケール (setlocale() で変更可能) に基づいて、配列要素を文字列として比較します。

  • 4 = SORT_NATURAL: natsort() と同様に、配列要素ごとに文字列を「自然な順序」で並べ替えます。これは PHP5.4.0 の新機能です。

  • 5 = SORT_FLAG_CASE: 大文字と小文字を区別しない並べ替え文字列である SORT_STRING または SORT_NATURAL (またはビット単位の演算) と組み合わせることができます。

2. array_slice() 関数

array_slice() 関数は、配列からフラグメントを抽出できます

array array_slice ( array $arr , int $start [, int $length = NULL [, bool $preserve_keys = false ]] )

パラメータ 説明:

    arr はインターセプトされる配列を表します。
  • start はインターセプトの開始位置 (添え字) を示します。
    • start が正の数の場合、インターセプトは前から後ろに実行されます。
    • start が負の数の場合は、arr の最後から開始して後ろから前にインターセプトする位置から開始します。たとえば、-2 は配列の最後から 2 番目の要素から開始することを意味します。
  • length はオプションのパラメータで、インターセプトされた長さを示します:
    • length が正の数の場合、インターセプトされた要素の数を示します。 length が負の数値の場合、インターセプトされたフラグメントは配列の末尾からの長さの位置で終了します;
    • 省略された場合は、開始位置から開始され、配列の末尾まで続きます。配列。
    • preserve_keys は、元のキー名を保持するかどうかを指定するオプションのパラメータです。デフォルトは false、つまり保持されません。true に設定すると、元のキー名が保持されます。 。
  • 注: array_slice() 関数は元の配列を変更しません
例 1: パラメーター $start

<?php
header("Content-type:text/html;charset=utf-8");
$arr = array(10,12,20,25,24);
echo "原数组:";
var_dump($arr); 

echo "截取的数组片段:";
$result = array_slice($arr,2);
var_dump($result);

$result = array_slice($arr,-2);
var_dump($result);
?>

例2 : パラメータ $lengthPHPで配列の最小要素を見つける方法

<?php
header("Content-type:text/html;charset=utf-8");
$arr = array(10,12,20,25,24);
echo "原数组:";
var_dump($arr); 

echo "截取的数组片段:";
$result = array_slice($arr,1,1);
var_dump($result);

$result = array_slice($arr,1,-1);
var_dump($result);
?>

例 3: パラメータ $preservePHPで配列の最小要素を見つける方法

は、元のキー名を保持するかどうかを示します。デフォルト値は false です。 、保持されません。true に設定すると、元のキー名が保持されます。

<?php
header("Content-type:text/html;charset=utf-8");
$arr = array(10,12,20,25,24);
echo "原数组:";
var_dump($arr); 

echo "截取的数组片段:";
$result = array_slice($arr,1,1,true);
var_dump($result);

$result = array_slice($arr,1,-1,true);
var_dump($result);
?>

推奨学習: 「PHPで配列の最小要素を見つける方法PHP ビデオ チュートリアル

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

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