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

时间:2014-05-21 10:43:50

标签: php arrays wordpress

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

  

option_name = optionLists

     

option_values =选项1,选项2,选项3,选项4

我使用PHP检索这些值,如下所示:

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

因此,此处$myOption是一个数组,如果我使用$myOption打印print_r($myOption),则会显示如下结果:

  

数组([0] =>选项1 [1] =>选项2 [2] =>选项3 [3] =>选项4)

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

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

预期输出应如下所示:

  

数组([0] =>选项1 [1] =>选项2 [3] =>选项4)

但是,它仍在显示:

  

数组([0] =>选项1 [1] =>选项2 [2] =>选项3 [3] =>选项4)

我可以知道我在做错的地方吗?提前谢谢。

1 个答案:

答案 0 :(得分:0)

您的代码适合我。

但不需要拥有该项的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 )