阵列堆叠在另一个阵列上

时间:2019-10-05 15:42:00

标签: php arrays wordpress

我试图将一个项目添加到一个数组中,但是这些数组不断堆叠在一起,因此变得不可用。

我尝试了不同的方法,如果我的输入不是来自get_user_meta(),我可以使其工作,而是创建一个自定义字符串来测试该数组。但是我需要加载元数据,以便可以在其中添加其他内容。

$user_id = get_current_user_id();
$the_id = get_the_ID();
$continue_watching = get_user_meta($user_id,'continue_watching',false);
if ( !isset($continue_watching) ) {
     $continue_watching = array();
}
$continue_watching[] = $the_id;
update_user_meta($user_id,'continue_watching',$continue_watching);

正在发生的事情:

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

            [1] => 11234
        )

    [1] => 16951
)

但是我希望输出看起来像这样:

Array (
    [0] => 11234
    [1] => 16951
    [2] => 16966
    [3] => 16970
)

更新:

我已重置数组,这是$continue_watching = get_user_meta($user_id,'continue_watching',false);之后的输出

    Array
(
)

这是$continue_watching[] = $the_id;

之后的输出
Array
(
    [0] => 16955
)

打开另一页后,这是$continue_watching = get_user_meta($user_id,'continue_watching',false);

之后的输出
Array
(
    [0] => Array
        (
            [0] => 16955
        )

)

这是$continue_watching[] = $the_id;

之后的输出
Array
(
    [0] => Array
        (
            [0] => 16955
        )

    [1] => 16957
)

1 个答案:

答案 0 :(得分:0)

尝试了所有替代方法之后,事实证明这是一个非常简单的解决方案。我要做的就是在wordpress函数get_user_meta($user_id,'continue_watching',false);

中将值从false更改为true。

“ false”选项将数组显示在另一个数组中,当我将其更改为“ true”时,输出就是单独包含在变量中的数组。