配列から元のデータを削除せずに、指定されたユーザーIDに従って配列を並べ替えます

リズワンサリーム

2つの配列があります。1つの配列はデータベースからフェッチされ、2番目はユーザーIDの配列です。つまり、フェッチされたユーザー配列を2番目に指定された配列に基づいて並べ替えます。の2番目の配列に存在する配列の一番上にあるユーザーと、2番目の入力配列に存在しないユーザーもphpで並べ替えられたユーザーの後に来るようにします。

$sortArr = array(14,25);
$dbArr = array(7,5,100,25,110,78,14);
sort_tag_able_users($sortArr,$dbArr);

function sort_tag_able_users($inputs, $db_inputs) {
    foreach ($db_inputs as $url_response) {
        $key = array_search($url_response, $inputs);
        $result[$key] = $url_response;
    }
    ksort($result);
    return $result;
}

echo "Returned Reusult";
Array
(
    [0] => 14
    [1] => 25
)

echo "Required Reusult";
Array
(
    [0] => 14
    [1] => 25
    [2] => 7
    [3] => 5
    [4] => 100
    [5] => 110
    [6] => 78
)

上記の関数は、db配列から削除された一致したユーザーと残りのユーザーのみを返します。この問題の解決にご協力ください。

死ぬ

問題は、に存在しないすべてのIDで$key同じ(false)になるため$inputs$result[false]何度も上書きして、最後の値だけが残ることです。

usort代わりに比較コールバックを使用してください

public static function sort_tag_able_users($inputs, $db_inputs) {
    usort($db_inputs, function ($a, $b) use ($inputs) {
        $a = array_search($a->id, $inputs);
        $b = array_search($b->id, $inputs);

        if ($a === $b) {
            return 0;
        } else if ($a === false) {
            return 1;
        } else if ($b === false) {
            return -1;
        } else {
            return $a - $b;
        }
    });

    return $db_inputs;
}

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

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

編集
0

コメントを追加

0

関連記事

分類Dev

順序付けられた配列パターンに従ってbash配列を並べ替えます

分類Dev

javaScriptで指定されたインデックスに従って配列を並べ替えます

分類Dev

Swiftの与えられたインデックスに従って配列を並べ替えます

分類Dev

PHPは、別の配列で定義された順序に従って配列を並べ替えます

分類Dev

別の配列で定義された並べ替え順序に従って、配列を所定の位置に並べ替えます

分類Dev

PHPの値に従って配列を並べ替えます

分類Dev

インデックスを再配置せずに、キーDESCを使用して多次元PHP配列を並べ替える方法(これらの要素を削除できます)

分類Dev

APIを使用せずにLastNameに従って、次にFirstNameで2次元文字列配列を並べ替える

分類Dev

文字列値の列に従ってパンダのデータフレーム行を並べ替えます

分類Dev

pandasデータフレームは列の合計に従って列を並べ替えます

分類Dev

最初の配列に従って配列を並べ替える

分類Dev

並べ替えられた配列から重複を削除して長さを返す-元の配列を変更する必要があります

分類Dev

CUDA:推力を使用して別の配列で定義された順序に従って配列を並べ替えます

分類Dev

JavaScriptで別の配列に従って配列を並べ替えたいですか?

分類Dev

LaravelのIDの配列に従ってページ付けされたデータを取得する方法

分類Dev

キーを使用せずにNSSortDescriptorを使用して配列を並べ替えますか?

分類Dev

子配列の数に従って配列の配列を並べ替える

分類Dev

元のデータフレームに従って行を並べ替えます

分類Dev

文字列として指定された数字キーに基づいてオブジェクトの配列を並べ替えます

分類Dev

sortOn():配列のコピーを並べ替えようとしていますが、元の配列も並べ替えられています

分類Dev

事前定義された配列値に従ってnumpy配列にデータを入力します

分類Dev

値のカスタム並べ替えを定義し、その並べ替えに従って配列から最大値と最小値を取得する-PHP

分類Dev

親と子の値に従って、別の配列からphp配列にデータを入力します

分類Dev

Sortメソッドは、追加された文字列のみを並べ替えますが、最初に配列にあった文字列は並べ替えません。

分類Dev

デフォルトの関数を使用せずに、配列を右から左に並べ替えます

分類Dev

参照配列に従って配列を並べ替える

分類Dev

事前定義された配列に従って配列(結果セット)を並べ替える

分類Dev

特定の列の値に従ってパンダデータファイルの文字列を並べ替えるにはどうすればよいですか?

分類Dev

配列のコピーや順序の変更を行わずに、指定された順序で配列を並べ替える

Related 関連記事

  1. 1

    順序付けられた配列パターンに従ってbash配列を並べ替えます

  2. 2

    javaScriptで指定されたインデックスに従って配列を並べ替えます

  3. 3

    Swiftの与えられたインデックスに従って配列を並べ替えます

  4. 4

    PHPは、別の配列で定義された順序に従って配列を並べ替えます

  5. 5

    別の配列で定義された並べ替え順序に従って、配列を所定の位置に並べ替えます

  6. 6

    PHPの値に従って配列を並べ替えます

  7. 7

    インデックスを再配置せずに、キーDESCを使用して多次元PHP配列を並べ替える方法(これらの要素を削除できます)

  8. 8

    APIを使用せずにLastNameに従って、次にFirstNameで2次元文字列配列を並べ替える

  9. 9

    文字列値の列に従ってパンダのデータフレーム行を並べ替えます

  10. 10

    pandasデータフレームは列の合計に従って列を並べ替えます

  11. 11

    最初の配列に従って配列を並べ替える

  12. 12

    並べ替えられた配列から重複を削除して長さを返す-元の配列を変更する必要があります

  13. 13

    CUDA:推力を使用して別の配列で定義された順序に従って配列を並べ替えます

  14. 14

    JavaScriptで別の配列に従って配列を並べ替えたいですか?

  15. 15

    LaravelのIDの配列に従ってページ付けされたデータを取得する方法

  16. 16

    キーを使用せずにNSSortDescriptorを使用して配列を並べ替えますか?

  17. 17

    子配列の数に従って配列の配列を並べ替える

  18. 18

    元のデータフレームに従って行を並べ替えます

  19. 19

    文字列として指定された数字キーに基づいてオブジェクトの配列を並べ替えます

  20. 20

    sortOn():配列のコピーを並べ替えようとしていますが、元の配列も並べ替えられています

  21. 21

    事前定義された配列値に従ってnumpy配列にデータを入力します

  22. 22

    値のカスタム並べ替えを定義し、その並べ替えに従って配列から最大値と最小値を取得する-PHP

  23. 23

    親と子の値に従って、別の配列からphp配列にデータを入力します

  24. 24

    Sortメソッドは、追加された文字列のみを並べ替えますが、最初に配列にあった文字列は並べ替えません。

  25. 25

    デフォルトの関数を使用せずに、配列を右から左に並べ替えます

  26. 26

    参照配列に従って配列を並べ替える

  27. 27

    事前定義された配列に従って配列(結果セット)を並べ替える

  28. 28

    特定の列の値に従ってパンダデータファイルの文字列を並べ替えるにはどうすればよいですか?

  29. 29

    配列のコピーや順序の変更を行わずに、指定された順序で配列を並べ替える

ホットタグ

アーカイブ