Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/243.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何搜索和重置我的以下数组?_Php_Arrays_Sorting_Multidimensional Array - Fatal编程技术网

Php 如何搜索和重置我的以下数组?

Php 如何搜索和重置我的以下数组?,php,arrays,sorting,multidimensional-array,Php,Arrays,Sorting,Multidimensional Array,实际上,数组1是我的默认数组。但我提供了从我的网站购买readingOrder的便利。现在,如果某个赌场id 78购买了读取顺序1,那么我必须将其保持在第一位。它的实际读取顺序是4。 考虑读顺序=秩和ID=CasiNyid。< /P> 所以基本上array1是我的默认数组。array2是采购订单,我希望结果像这两个数组中的array3 $array1 = Array ( [0] => Array ( [

实际上,数组1是我的默认数组。但我提供了从我的网站购买readingOrder的便利。现在,如果某个赌场id 78购买了读取顺序1,那么我必须将其保持在第一位。它的实际读取顺序是4。 考虑读顺序=秩和ID=CasiNyid。< /P> 所以基本上array1是我的默认数组。array2是采购订单,我希望结果像这两个数组中的array3

$array1 = Array
        (
        [0] => Array
            (
                [id] => 76
                [readingOrder] => 1
            )

        [1] => Array
            (
                [id] => 81
                [readingOrder] => 2
            )

        [2] => Array
            (
                [id] => 78
                [readingOrder] => 3
            )

        [3] => Array
            (
                [id] => 80
                [readingOrder] => 4
            )

        [4] => Array
            (
                [id] => 82
                [readingOrder] => 5
            )

        [5] => Array
            (
                [id] => 83
                [readingOrder] => 6
            )

        [6] => Array
            (
                [id] => 84
                [readingOrder] => 7
            )

        [7] => Array
            (
                [id] => 85
                [readingOrder] => 8
            )

        [8] => Array
            (
                [id] => 86
                [readingOrder] => 9
            )

        [9] => Array
            (
                [id] => 87
                [readingOrder] => 10
            )

    )
Secon阵列:-

$array2 = Array
(
    [0] => Array
        (
            [rank] => 1
            [casino_id] => 78
        )

    [1] => Array
        (
            [rank] => 4
            [casino_id] => 76
        )

)
第三个:-

$array3 = Array
    (
        [0] => Array
            (
                [id] => 78
                [readingOrder] => 1
            )


        [1] => Array
            (
                [id] => 81
                [readingOrder] => 2
            )


        [2] => Array
            (
                [id] => 80
                [readingOrder] => 3
            )

        [3] => Array
            (
                [id] => 76
                [readingOrder] => 4
            )


        [4] => Array
            (
                [id] => 82
                [readingOrder] => 5
            )

        [5] => Array
            (
                [id] => 83
                [readingOrder] => 6
            )

        [6] => Array
            (
                [id] => 84
                [readingOrder] => 7
            )

        [7] => Array
            (
                [id] => 85
                [readingOrder] => 8
            )

        [8] => Array
            (
                [id] => 86
                [readingOrder] => 9
            )

        [9] => Array
            (
                [id] => 87
                [readingOrder] => 10
            )

    )

在你的情况下,这似乎适用于和的混合物。检查内联注释以了解详细信息

// get (rank => casino_id) type array from array2 using array functions.
$array3 = array_combine(array_column($array2, 'rank'), array_column($array2, 'casino_id'));
//similar type from array1
$array4 = array_combine(array_column($array1, 'readingOrder'), array_column($array1, 'id'));

$temp = $finalArr = array();
//push only if the value is present in high priority array (array3).
foreach ($array4 as $key => $val) {
  $temp[$key] = $array3[$key] ? $array3[$key] : $array4[$key];
}

//finally modify the array according to original key=> value type.
foreach ($temp as $k => $v) {
  $finalArr[] = array(
    'id' => $v,
    'readingOrder' => $k,
  );
}

你能在问题1中包括实际数组(按照php)吗。获取第二个数组2的密钥。筛选没有第二个数组3的键的数组1。更改数组4的键。合并它(这里快午夜了)。。如果明天之前没有人回答,我就回答。。祝你好运:)我在$array1中只检查了4个数组值,对我来说效果很好。非常感谢兄弟。我们是否可以删除array1的值,该值在array2中已经可用。只是为了从最终数组中删除重复的id。我认为当我们唯一地插入到临时数组中时,在最终数组中不会得到重复的值。谢谢你的更新,但错过了打字错误。只是不明白为什么要对接受的答案投否决票(TWIMC)。我也很惊讶。为什么人们会否决被接受的答案。我明白了,明天我可以好好看看。