文字列から配列への変換、array_rand、unset、および配列から文字列への戻り。ショートカットはありますか?

ARFallaha

私は電話のページのスケジュールをプログラミングしています。functions私が書いているものの1つは、available assistants(saved as assistant_ids)選択された時間にランダムなものを選択し、リストから彼を削除して、テーブルを更新します。かなり簡単です。

私はそれのためのコードを書きました、そしてそれは完全にうまく働きます、しかしこのコードはプロセスをするために多くの関数を使います。そして、右足で左耳を掻いているような気がします!

将来的にサーバーの処理を大幅に節約できる、このすべてのコードへのショートカットはありますか?

$assistants = self::get_avail_assists($table, $this->time);
        //Assistants are saved as ids and each one is 18 Char.
        //each one separated with a space
        $assistants_no = strlen($assistants);
            if($assistants_no > 1){
                for($i=0; $i<$assistants_no; $i=$i+18){
                    $assistants_array[$i/18] = substr($assistants,$i,17);
                }
            }

        //select random assistant key
        $rand_assistant_key = array_rand($assistants_array);
        //retrieve selected assistant
        $rand_assistant = $assistants_array[$rand_assistant_key];
        //delete selected assistant from list
        unset($assistants_array[$rand_assistant_key]);

        //clear assistants string
        $assistants = "";
        //recreate assistants string to update
        foreach($assistants_array as $assistant){
            $assistants .= $assistant." ";
        }
        //update database after popping out the random assistant
        $sql = "UPDATE ".$table." SET ".
        "avail_assists='".$assistants."' ".
        "WHERE id='".$this->time."' ".
        "LIMIT 1";
        mysqli_query($sql,etc...

お時間をいただきありがとうございます!

mickmackusa

アシスタントがデータベースに再入力される順序は重要ではないと仮定します...

$ass_array=explode(" ",$assistants);  // space-separated string to array

shuffle($ass_array);    // mix it up
$lucky_ass=$ass_array[0];   // save one for whatever usage
unset($ass_array[0]);  // remove the one from the group

$leftover_string_of_asses=implode(' ',$ass_array);  // convert array to space-separated string

...add sql query

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

TOP 一覧

  1. 1

    グラフからテーブルに条件付き書式を適用するにはどうすればよいですか?

  2. 2

    ソートされた検索、ターゲット値未満の数をカウント

  3. 3

    Unity:未知のスクリプトをGameObject(カスタムエディター)に動的にアタッチする方法

  4. 4

    セレンのモデルダイアログからテキストを抽出するにはどうすればよいですか?

  5. 5

    Ansibleで複数行のシェルスクリプトを実行する方法

  6. 6

    Reactでclsxを使用する方法

  7. 7

    tkinterウィンドウを閉じてもPythonプログラムが終了しない

  8. 8

    Windows 10 Pro 1709を1803、1809、または1903に更新しますか?

  9. 9

    Pythonを使用して同じ列の同じ値の間の時差を取得する方法

  10. 10

    PowerShellの分割ファイルへのヘッダーの追加

  11. 11

    Chromeウェブアプリのウェブビューの高さの問題

  12. 12

    BLOBストレージからデータを読み取り、Azure関数アプリを使用してデータにアクセスする方法

  13. 13

    Crashlytics:コンパイラー生成とはどういう意味ですか?

  14. 14

    GoDaddyでのCKEditorとKCfinderの画像プレビュー

  15. 15

    Windows 10の起動時間:以前は20秒でしたが、現在は6〜8倍になっています

  16. 16

    MLでのデータ前処理の背後にある直感

  17. 17

    モーダルダイアログを自動的に閉じる-サーバーコードが完了したら、Googleスプレッドシートのダイアログを閉じます

  18. 18

    reCAPTCHA-エラーコード:ユーザーの応答を検証するときの「missing-input-response」、「missing-input-secret」(POSTの詳細がない)

  19. 19

    STSでループプロセス「クラスパス通知の送信」のループを停止する方法

  20. 20

    ファイル内の2つのマーカー間のテキストを、別のファイルのテキストのセクションに置き換えるにはどうすればよいですか?

  21. 21

    ネットワークグラフで、ネットワークコンポーネントにカーソルを合わせたときに、それらを強調表示するにはどうすればよいですか?

ホットタグ

アーカイブ