要从数组中取出指定的几个键值,可以使用 array_intersect_key
函数。以下是一个示例:
$array = [
'name' => 'John',
'age' => 30,
'email' => 'john@example.com',
'city' => 'New York'
];
$keys = ['name', 'email'];
$result = array_intersect_key($array, array_flip($keys));
print_r($result);
?输出结果:
Array
(
[name] => John
[email] => john@example.com
)
在这个示例中,我们首先定义了一个包含所有键值的数组 $array
。然后,我们定义了一个包含要提取的键名的数组 $keys
。接下来,我们使用 array_flip
函数将 $keys
数组中的值转换为键名,然后使用 array_intersect_key
函数从 $array
中提取指定的键值。最后,我们打印出提取出的结果。
如果你想要取出除了指定键之外的所有元素,你可以使用array_diff函数来找出原始数组与指定键的差集。以下是一个示例:
$array = array(
"a" => "apple",
"b" => "banana",
"c" => "cherry",
"d" => "date"
);
// 指定要排除的键
$except_keys = array("a", "c");
// 取出除了指定键之外的所有元素
$result = array_diff_key($array, array_flip($except_keys));
print_r($result);
在这个例子中,我们首先使用array_flip函数将排除的键数组转换为键值对,其中键是翻转后的键,值是true。这样做的目的是为了使用array_diff_key函数,它将比较两个数组,并返回第一个数组中存在而第二个数组中不存在的键的数组。
运行上述代码将输出:
Array
(
[b] => banana
[d] => date
)
这样,你就得到了一个新数组,其中包含了除了键"a"和"c"之外的所有元素。