数组操作



我有一个两列数组(array1(,对于该数组的每一行,我需要将第二列中的值与另一个数组(array 1(每一行中的列值进行比较,当它们相等时,我想将另一个列值(来自array2(附加到第一个数组。

英文:

if array1[x][1] = array2[y][0]
then array1[x][2] = array2[y][2]

两个阵列的屏幕转储

array1 ( 
    [1] => Array ( 
        [0] => 1 [1] => 2 
    ) 
    [2] => Array ( 
        [0] => 2 [1] => 3 
    ) 
    [3] => Array ( 
        [0] => 3 [1] => 
    ) [7] => Array ( 
        [0] => 7 [1] => 1 
    ) 
    [8] => Array ( 
        [0] => 8 [1] => 1 
    ) 
    [9] => Array (
        [0] => 9 [1] => 10 
    ) 
    [10] => Array (
        [0] => 10 [1] => 2 
    ) 
)

array2 ( 
    [0] => Array ( 
        [0] => 1 
        [1] => 2 
        [2] => 2 
        [3] => Jane 
        [4] => Smith 
        [5] => jsmith@internet.com 
        [6] => jsmith 
        [7] => 12345 
        [8] => 1 
        [9] => no 
    ) 
    [1] => Array ( 
        [0] => 2 
        [1] => 2 
        [2] => 3 
        [3] => James 
        [4] => Beard 
        [5] => jasb@bellsouth.net 
        [6] => jbeard03 
        [7] => keeper 
        [8] => 1 
        [9] => no 
    ) 
    [2] => Array ( 
        [0] => 3 
        [1] => 2 
        [2] => 
        [3] => Peter 
        [4] => Allen 
        [5] => pallen@rfgg.com 
        [6] => pallen 
        [7] => pallen 
        [8] => 1 
        [9] => no 
    ) 
    [3] => Array ( 
        [0] => 7 
        [1] => 2 
        [2] => 1 
        [3] => Joe 
        [4] => Blow 
        [5] => jasb@bellsouth.net 
        [6] => jblow 
        [7] => blow123 
        [8] => 5 
        [9] => yes 
    ) 
    [4] => Array ( 
        [0] => 8 
        [1] => 2 
        [2] => 1 
        [3] => John 
        [4] => Smith 
        [5] => logtest@bellsouth.net 
        [6] => jnsmith 
        [7] => jsmith123 
        [8] => 4 
        [9] => yes 
    ) 
    [5] => Array ( 
        [0] => 9 
        [1] => 2 
        [2] => 10 
        [3] => Frank 
        [4] => Smith 
        [5] => pallen@test.com 
        [6] => fsmith 
        [7] => fsmith123 
        [8] => 4 
        [9] => yes 
    ) 
    [6] => Array ( 
        [0] => 10 
        [1] => 2 
        [2] => 2 
        [3] => Loretta 
        [4] => Beard 
        [5] => lbeard@me.net 
        [6] => lbeard 
        [7] => lbeard123 
        [8] => 1 
        [9] => no 
    ) 
) 

这行得通吗?我不确定我是否完全清楚你在找什么。

foreach($array1 as $x => $xarray) {
    foreach($array2 as $y => $yarray) {
        if($xarray[1] == $yarray[0]) {
            $array1[$x][2] = $array[$y][2];
        }
    }
}
foreach ($array1 as &$a1) {
    foreach ($array2 as $a2) {
        if ($a1[1] == $a2[0]) {
            $a1[] = $a2[2];
            continue 2;
        }
    }
}

顺便说一句,您应该尝试使用真正有意义的显式密钥,例如$a1['id']而不是$a1[1]。两个月后,当你再次查看代码时,你会感谢自己的。

因为我威胁要这么做:

顺便说一句,你应该试着找到一些明确的密钥,这些密钥实际上是有意义的,例如$a1[‘id’],而不是$a1[1]。当你在两个月后再次查看代码时,你会感谢自己-P

相关内容

  • 没有找到相关文章

最新更新