基于PHP中的第二个数组键获取数组的值

时间:2015-04-30 09:13:14

标签: php arrays

让我们选择两个阵列:

$aliases = array(
    'id'   => 'real_id',
    'date' => 'real_date',
    'name' => 'real_name'
);
$data = array(
    'id'   => 1,
    'name' => 'Lorem ipsum'
);

我想检索$aliases数组中定义的键的每个$data值(无需检查密钥是否存在,此时我已使用array_intersect_key()执行此操作)。这是预期的结果:

array('real_id', 'real_name');

目前,我可以使用foreach

来完成此操作
$realkeys = array();
foreach(array_keys($data) as $key) {
    $realkeys[] = $aliases[$key];
}

但是有没有任何本机PHP函数以更聪明的方式完成它?

1 个答案:

答案 0 :(得分:4)

您可以像这样使用PHP的array_intersect_key

    <?php
        $aliases = array(
                'id'   => 'real_id',
                'date' => 'real_date',
                'name' => 'real_name'
        );
        $data = array(
                'id'   => 1,
                'name' => 'Lorem ipsum'
        );

        print_r(array_values(array_intersect_key($aliases, $data)));
    ?>
  

数组([0] =&gt; real_id [1] =&gt; real_name)