我有一组键和值(单词及其出现)。我想删除某些键(单词)。我把这些词放在另一个数组中。如何过滤出这些单词并创建一个新数组?
我已经尝试过-但它不会删除字符串:
<?php
$words = array(
'string 1' => 4,
'string 2' => 6,
'string 3' => 3,
'string 4' => 3,
'string 4' => 9,
'string 5' => 8,
'string 6' => 2,
'string 7' => 10,
'string 8' => 1
);
$remove_words = array(
'string 4',
'string 2'
);
$new_array = array_diff($words, $remove_words);
print_r($new_array);
?>
我期望这样的输出:
$new_array = array(
'string 1' => 4,
'string 3' => 3,
'string 5' => 8,
'string 6' => 2,
'string 7' => 10,
'string 8' => 1
);
答案 0 :(得分:3)
您可以使用array_flip()
来将$remove_words
的值更改为键,然后使用array_diff_key()
。试试:
$new_array = array_diff_key($words, array_flip($remove_words));