ホームページ  >  記事  >  バックエンド開発  >  PHP で配列から 1 つ以上のセルをランダムに削除する方法

PHP で配列から 1 つ以上のセルをランダムに削除する方法

PHPz
PHPz転載
2024-03-19 11:58:191081ブラウズ

php Xiaobian Yuzai は、配列から 1 つ以上のユニットをランダムに削除する方法を紹介します。 PHP では、array_rand() 関数を使用してこの機能を実現できます。この関数は、配列から 1 つ以上のキーをランダムに選択し、値の代わりにキー名を返します。対応する値は、返されたキー名から取得できます。 array_rand() 関数を使用すると、配列から 1 つ以上のユニットをランダムに削除する操作を簡単に実装でき、開発作業の可能性が広がります。

配列から 1 つ以上のセルをランダムに削除する方法

Array は、データを保存するために php で使用される順序付けされた collection です。これらはキーと値のペアのコレクションで構成され、キーは一意の識別子、値は保存されたデータです。配列から 1 つ以上のセルをランダムに削除するのは一般的な操作であり、これを行う方法はいくつかあります。

単一要素:

1. mt_rand() 関数:

$配列 = [1, 2, 3, 4, 5];
$random_index = mt_rand(0, count($array) - 1);
$random_element = $array[$random_index];

2. array_rand() 関数:

$配列 = [1, 2, 3, 4, 5];
$random_key = array_rand($array);
$random_element = $array[$random_key];

複数の要素:

1. array_slice() 関数:

$配列 = [1, 2, 3, 4, 5];
$num_elements = 3; //ランダムに取り出した要素の数
$random_elements = array_slice($array, 0, $num_elements, true);

2. shuffle() 関数と array_slice() 関数:

$配列 = [1, 2, 3, 4, 5];
shuffle($array); //配列要素の順序をシャッフルする
$num_elements = 3; //ランダムに取り出した要素の数
$random_elements = array_slice($array, 0, $num_elements);

3. 自己実装関数:

関数ランダム要素($array, $num_elements) {
$keys = array_rand($array, $num_elements);
$random_elements = 配列();
foreach ($keys として $key) {
$random_elements[] = $array[$key];
}
$random_elements を返します。
}

効率に関する考慮事項:

  • 配列が小さい場合は、mt_rand() 関数と array_rand() 関数の方が効率的です。
  • 大きな配列の場合、array_slice() 関数と shuffle() 関数は配列全体の走査を避けるため、より効率的です。
  • スクランブル配列から要素をランダムに削除する必要がある場合は、array_slice() 関数が最も効率的な選択肢です。

追加のヒント:

  • mt_srand() この関数は、実行するたびに同じ結果が得られるように、乱数生成器のシード値を設定できます。
  • array_values() この関数は、連想配列を値のみを含む新しい配列に変換できるため、配列から要素をランダムに削除することが容易になります。

以上がPHP で配列から 1 つ以上のセルをランダムに削除する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はlsjlt.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。