0

也许我在这里遗漏了一些东西,但array_diff()似乎在数组的末尾让我空了 kesys。

有了这个示例数据 -

$term_ids = array(0 => 242, 1 => 270);
$term_ids = array_diff($term_ids, array(242, 243, 266, 267, 268, 269));

我只剩下这个-

Array
(
    [1] => 270
    [0] => 
)

据我了解,这是不正确的(应该取消设置 [0],只留下 [1])。我正在使用$term_ids = array_values($term_ids);after 使密钥正确,但似乎这不是必需的,所以我想知道是否有比我了解更多的人可以澄清一下?

4

2 回答 2

2

无法重现:

$term_ids = array(0 => 242, 1 => 270);
$term_ids = array_diff($term_ids, array(242, 243, 266, 267, 268, 269));
print_r($term_ids);

输出:

Array
(
    [1] => 270
)
于 2012-04-11T14:15:44.100 回答
1

我试过了

<?php

$arr1 = array(15, 16, 17,18);
$arr2 = array(15, 17);

$arr3 = array_diff($arr1, $arr2);

var_dump($arr3);

?>

我得到 [1] => 16,[3] => 18。

正如官方页面上的示例所示,这实际上似乎是预期的结果。

于 2012-04-11T14:22:55.153 回答