【问题标题】:Add value to array with key使用键向数组添加值
【发布时间】:2016-06-12 23:27:25
【问题描述】:

我的 wordpress 中有一个代码:

        $wiadomosci = get_user_meta($user->ID,'wiadomosci', false);
        if($wiadomosci) {
            array_push($wiadomosci[$topic], $post->ID);
            update_user_meta($user->ID, 'wiadomosci', $wiadomosci);
        } else {
            $wiadomosci = array($topic => array($post->ID));
            add_user_meta($user->ID, 'wiadomosci', $wiadomosci);
        }

当变量 $wiadomosci 不存在时,我正在创建一个数组。 $topic 是类别 ID。所以我得到了这个:

Array
(
[0] => Array
    (
        [8] => Array
            (
                [0] => 139
            )

    )

)

8 是类别 ID,139 是帖子 ID。现在,当变量 $topic 为 8 时,我想添加帖子 ID(例如 140)并得到:

Array
(
[0] => Array
    (
        [8] => Array
            (
                [0] => 139
                [1] => 140
            )

    )

)

但我明白了:

Array
(
[0] => Array
    (
        [0] => Array
            (
                [8] => Array
                    (
                        [0] => 139
                    )

            )

        [8] => 
    )

)

我试过替换

array_push($wiadomosci[$topic], $post->ID);

与:

$wiadomosci[$topic] = $post->ID

但它不起作用。有什么想法吗?

【问题讨论】:

    标签: php arrays wordpress


    【解决方案1】:

    好的,我已经解决了。代码如下:

            $wiadomosci = get_user_meta($user->ID,'wiadomosci', false);
            if($wiadomosci) {
                $tmp = $wiadomosci[0][$topic];
                $tmp[] = $post->ID;
                $wiadomosci[0][$topic] = $tmp;
                update_user_meta($user->ID, 'wiadomosci', $wiadomosci[0]);
            } else {
                $wiadomosci = array($topic => array($post->ID));
                add_user_meta($user->ID, 'wiadomosci', $wiadomosci);
            }
    

    【讨论】:

      【解决方案2】:

      问题在于 wp_get_post_meta( ..., false ) 返回一个数组 - false 表示元是多个。将最后一个参数更改为true,您应该已经设置好了。

      【讨论】:

        【解决方案3】:

        如果你在 else 中这样做?

        $wiadomosci = array($topic => $post->ID);
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2022-01-13
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2021-07-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多