合并不同类型的数组

时间:2011-09-28 03:16:11

标签: php arrays wordpress

我有两个数组:

    $a =array(   
        'standard'      => (object) array( 'id' => 'standard',      'title' => 'AustPost Standard' ), 
        'registered'    => (object) array( 'id' => 'registered',    'title' => 'AustPost Registered' ), 
        'insured'       => (object) array( 'id' => 'insured',       'title' => 'AustPost Insured' ),
        'express'       => (object) array( 'id' => 'express',       'title' => 'AustPost Express' ),
        'satchexp'      => (object) array( 'id' => 'satchexp',      'title' => 'AustPost Satchel Express' ),
        'satchreg'      => (object) array( 'id' => 'satchreg',      'title' => 'AustPost Satchel Registered' ),
        'satchpla'      => (object) array( 'id' => 'satchpla',      'title' => 'AustPost Satchel Platnium' )
    );

$b = array( 'standard', 'sea', 'air', 'satchexp', 'satchreg', 'satchpla' )

如何创建一个新数组$ c,其中只有数组$ a中的元素出现在数组$ b中?

1 个答案:

答案 0 :(得分:5)

它被称为array intersection

您可以通过键或值来执行此操作。 在$ a的情况下你有(标准','海','空'......)作为键,但在$ b中这些单词实际上是值,键是(0,1,2 ......)

你可以轻松地翻转数组$ b来制作单词数组键。然后你可以按键交叉数组

$c = array_intersect_key($a, array_flip($b));