$user_id1と$user_id2として、1から100までの値を重複しないように取得したいです。
以下考えたのですが「成功するまでループする」という方法でとても無駄な処理に感じます…
php
1$user_id1 = rand(1, 100); 2$user_id2 = rand(1, 100); 3$user_id2 = unique_user_id2( $user_id1, $user_id2 ); //「成功するまでループする」 4 5function unique_user_id2( $user_id1, $user_id2 ){ 6 if ( $user_id1 === $user_id2 ){ 7 $user_id2 = rand(1, 100); 8 }else{ 9 $user_id2 = $user_id2; 10 } 11 12 //「成功するまでループする」 13 if ( $user_id1 === $user_id2 ){ 14 $user_id2 = unique_user_id2( $user_id1, $user_id2 ); 15 } 16 17 return $user_id2; 18}
もっとこう、以下のように一発でできるような方法はございませんでしょうか?
php
1$user_id2 = rand(1, 100, 【ただし$user_id1は除く】); 2/* 3$user_id2として1から100までのランダムな値を取得したいが 4ただし$user_id1は除いた値であったほしい 5という意味です 6*/
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/05/08 11:31 編集
2020/05/08 11:30 編集
2020/05/08 11:31
2020/05/08 11:31 編集
2020/05/08 11:34 編集
2020/05/08 11:36
2020/05/08 11:38 編集
2020/05/08 11:41 編集
2020/05/08 11:45