无法使用php array_diff函数删除数组元素


Unable to delete an array element using php array_diff function

我在Wordpress选项表中添加了一些值,如下所示:

option_name = optionLists

option_values = Option1, Option2, Option3, Option4

我使用PHP像下面这样检索这些值:

$option_lists = get_option('optionLists');
$myOption = explode("," , $option_lists );

那么,这里的$myOption是一个数组,如果我用print_r($myOption)打印$myOption,它将显示如下结果:

Array ([0] =>Option1 [1] =>Option2 [2] =>[3] =>Option4)

现在,我想从上面的数组中删除一个数组元素,假设它是Option3。我写在下面:

$remvOption = array('4' => 'Option3');
$new_option = array_diff($myOption, $remvOption);

预期输出应该如下所示:

Array ([0] =>Option1 [1] =>Option2 [3] =>Option4)

但是,它仍然显示:

Array ([0] =>Option1 [1] =>Option2 [2] =>[3] =>Option4)

我可以知道我在哪里出错了吗?

你的代码为我工作

但不需要有项目的ID -只需输入值本身

$myOption = array('Option1', 'Option2', 'Option3', 'Option4');
$remvOption = array('Option3');
$new_option = array_diff($myOption, $remvOption);

然后确保你打印的是正确的变量:

print_r($new_option);

下面的代码输出:

 Array ( [0] => Option1 [1] => Option2 [3] => Option4 )