ホームページ >バックエンド開発 >PHPチュートリアル >PHP で配列から 1 つ以上のセルをランダムに削除する方法
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 サイトの他の関連記事を参照してください。