匹配一维数组与二维数组

时间:2010-02-23 09:22:07

标签: php arrays

我在掌握如何将一维数组与二维数组匹配时遇到了一些问题。所以我有一个数组,一维,包含数字(例如1,2,3,4,5 ......)和一个包含数字和一些文本的二维数组(例如[1] [dog], [2] [猫],[3] [鼠标] ......)

所以现在我想做的是使用第一个数组,看看它是否与第二个数组匹配,例如如果array [0](包含值'1')匹配array2 [x],则输出array2的文本array2 [x] [text]。

任何帮助都是适当的!

修改

根据我的要求,我已经导出了阵列,我不知道这是否有帮助,但我们走了:

arrayX ( 0 => '1', 
         1 => '2'
)
arrayY ( 0 => array ( 0 => 'cat' ), 
         1 => array ( 0 => 'dog' )
)

我认为这与标签系统类似?如果arrayX包含值为“1”的条目,则将其与arrayY进行比较并输出数字匹配。

2 个答案:

答案 0 :(得分:1)

你的意思是第二个数组如下: $array[0]['cat'] = 'dog'

$array[0] = 'cat'

如果是后者,你可以迭代第一个数组,输出第二个数组中的值,如下所示

foreach ($array1 as $key) {
 echo $array2[$key];
}

答案 1 :(得分:0)

$arr1 = array( 1, 2, 3, 5, 7, 11, 13, 17 );
$arr2 = array(
            2 => array( 'text' => 'Foo', 'animal' => 'dog' ),
            3 => array( 'text' => 'Bar', 'animal' => 'cat' ),
            5 => array( 'text' => 'bla', 'animal' => 'rabbit' ),
           11 => array( 'text' => 'blub', 'animal' => 'horse' ),
           13 => array( 'text' => 'foobar', 'animal' => 'mouse' ) );

for ( $i = 0; $i < count( $arr1 ); $i++ )
{
    if ( isset( $arr2[$i] ) )
    {
        echo $arr2[$i]['text'] . "<br />\n";
    }
}

这样的东西?