将数组值与数组元素进行比较

时间:2016-05-26 08:31:26

标签: php

我有一个数组

template <bool...> struct bool_pack;
template <bool... v>
using all_true = std::is_same<bool_pack<true, v...>, bool_pack<v..., true>>;

template <class... Args>
struct Signal {
    template <class... Dargs, class = typename std::enable_if<all_true<
        std::is_same<Args, typename std::decay<Dargs>::type>{}...
    >{}>::type>
    void broadcast(Dargs &&...) {}
};

我要检查另一个数组,以便$check = ['a', 'b', 'c']; 的值与$check中的键匹配

$actual

我无法使用$actual = ['a' => 'one', 'b' => 'two', 'c' => 'three']; ,因为数组diff在比较值时起作用,在这种情况下,我想将一个数组的值与另一个数组中的键进行比较。

1 个答案:

答案 0 :(得分:4)

您可以使用array_keys();

<?php
$check = ['a', 'b', 'c'];
$actual = ['a' => 'one', 'b' => 'two', 'c' => 'three'];

$result = array_diff(array_keys($actual), $check);
print_r($result);

在这种情况下,array_diff返回一个空数组,因为找到了所有键