100 個の要素の配列から 50 個の一意の要素をすばやくランダムに削除するにはどうすればよいですか?
ディスカッションへの返信 (解決策)
array_rand($a, 50);
次に、配列の重複を排除して、ランダムフェッチを呼び出します
次に、配列の重複を排除して、ランダムフェッチを呼び出します
たとえば、1 ~ 100 の値がサイズ 100 の配列に配置されている場合、50 個の非反復要素を迅速かつランダムに抽出するにはどうすればよいでしょうか。 49 時間目など、後でフェッチすると、すでにフェッチされているデータがフェッチされる可能性が依然として非常に高いと考えられますが、この問題を解決するにはどうすればよいでしょうか。
1階の正解はマニュアルを確認してください、array_rand
1階の正解はマニュアルを確認してください、array_rand
array_randはどのように実装されていますか? 次のように実装することもできます。
$num =0;$array = array(1,2,3,4,5,6,7,8,9);$arr =array();$g = 5;$tag = true;while($tag){ $count = count($array); $t = rand(0,1); if($t==1){ $arr[] = $array[$num]; unset($array[$num]); } $num++; if(count($arr)==$g){ $tag=false; } if($num == $count){ $num = 0; }}
空の配列を作成し、array_rand がランダムに 1 つを取り出して配列に追加し、2 番目の配列を取り出して、取り出したものが既に配列にあるかどうかの判断を開始します。 50 項目保存してループを終了します
function swap(&$a, &$b){ $temp = $b; $b = $a; $a = $temp;}$result = array();$src = array();for($i = 0 ; $i < 40 ; $i++){ $src[] = $i + 1;}$arr_len = count($src);$count = 20;$index = 0;while($index < $count){ $random = rand(0, $arr_len - $index - 1); $result[] = $src[$random]; swap($src[$random] , $src[$arr_len - $index - 1]); $index += 1;}print_r(json_encode($result));print_r(json_encode($src));
このように書いてみてはどうでしょうか
#1 言ったじゃないですか? 考えられる結果
3,5,6,7,10,12,13,15,16,19,20,23,30,31,33,35,37,38,39,44,46,49, 51 ,53,54,59,61,63,64,65,66,69,71,72,74,75,77,78,80,82,83,87,88,89,91,92,96,97 ,98,100
$arr = array(1,2,3,3,4,56,fdas,....);
$unique = array_unique($arr)
print_r(array_rand($unique,50 ); );
mixed array_rand ( array input [, int num_req] )
array_rand() は、配列から 1 つ以上のランダムなセルを取り出したい場合に非常に便利です。入力を入力配列として受け入れ、オプションのパラメーター num_req を使用して、削除するセルの数を指定します。指定しない場合、デフォルトは 1 です。
1 つだけを取り出す場合、array_rand() はランダムなユニットのキー名を返し、それ以外の場合はランダムなキー名を含む配列を返します。このようにして、配列からキーと値をランダムに取り出すことができます。
1. まず、array_unique を使用して一意の要素を取得します。
2. シャッフルを使用して順序を乱します
3. array_slice を使用して 50 個の要素を取得します。
例:
rree

phpssionsStrackuserdataacrossmultiplepagerequestsusingauniqueidstoredinacookie.here'showtomanageetheemefectively:1)Startassession withsession_start()andstoredatain $ _ session.2)RegeneratesseSsessidafterloginwithsession_id(the topreventes_id)

PHPでは、次の手順を通じてセッションデータを繰り返すことができます。1。session_start()を使用してセッションを開始します。 2。$ _Sessionアレイのすべてのキー価値ペアを介してforeachループを反復します。 3.複雑なデータ構造を処理する場合、is_array()またはis_object()関数を使用し、print_r()を使用して詳細情報を出力します。 4.トラバーサルを最適化する場合、ページングを使用して、一度に大量のデータの処理を避けることができます。これにより、実際のプロジェクトでPHPセッションデータをより効率的に管理および使用するのに役立ちます。

このセッションは、サーバー側の状態管理メカニズムを介してユーザー認証を実現します。 1)セッションの作成と一意のIDの生成、2)IDはCookieを介して渡されます。3)サーバーストアとIDを介してセッションデータにアクセスします。

tostoreauser'snameInappession、starthessession withsession_start()、thensignthenameto $ _session ['username']。1)ousession_start()toinitializethessession.2)assighttheuser'snameto $ _ session ['username']

PHPSESSIONの障害の理由には、構成エラー、Cookieの問題、セッションの有効期限が含まれます。 1。構成エラー:正しいセッションをチェックして設定します。save_path。 2.Cookieの問題:Cookieが正しく設定されていることを確認してください。 3.セッションの有効期限:セッションを調整してください。GC_MAXLIFETIME値はセッション時間を延長します。

PHPでセッションの問題をデバッグする方法は次のとおりです。1。セッションが正しく開始されるかどうかを確認します。 2.セッションIDの配信を確認します。 3.セッションデータのストレージと読み取りを確認します。 4.サーバーの構成を確認します。セッションIDとデータを出力し、セッションファイルのコンテンツを表示するなど、セッション関連の問題を効果的に診断して解決できます。

session_start()への複数の呼び出しにより、警告メッセージと可能なデータ上書きが行われます。 1)PHPは警告を発し、セッションが開始されたことを促します。 2)セッションデータの予期しない上書きを引き起こす可能性があります。 3)session_status()を使用してセッションステータスを確認して、繰り返しの呼び出しを避けます。

PHPでのセッションライフサイクルの構成は、session.gc_maxlifetimeとsession.cookie_lifetimeを設定することで達成できます。 1)session.gc_maxlifetimeサーバー側のセッションデータのサバイバル時間を制御します。 0に設定すると、ブラウザが閉じているとCookieが期限切れになります。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

PhpStorm Mac バージョン
最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

SublimeText3 中国語版
中国語版、とても使いやすい

メモ帳++7.3.1
使いやすく無料のコードエディター

ホットトピック









