在Wordpress用户元数据库中存储PHP数组



这对于PHP专家来说应该很容易。我通过update_user_meta函数在Wordpress中存储和拉数组有麻烦。

我有一个这样的关联数组:

<>之前的数组([film_types] =>数组([action] => 50[喜剧]=> 50[罪行]=> 50[纪录片]=> 50[戏剧]=> 50[family] => 50[恐怖]=> 50[浪漫]=> 50[科幻]=> 50[颤栗]=> 50)[film_types] => Array([大片]=> 0[独立]=> 0)[film_eras] =>数组([1920s_1940] => 0[1950s_1960] => 0[1970s_1980] => 0[1990s_2000] => 0[post_2010] => 0[pre_1920] => 0)[last_updated] => 2011-10-12 21:21:28) 之前

但是当我通过

更新用户元表中的数据时

update_user_meta ($ user_id meta_key美元meta_value美元,美元prev_value)

数据正确地放在db中,但是当我调用数据并将新数组打印到屏幕时,它在数组中有一个嵌套的数组键[0],如下所示:

<>之前数组([0] =>数组([film_types] =>数组([action] => 50[喜剧]=> 50[罪行]=> 50[纪录片]=> 50[戏剧]=> 50[family] => 50[恐怖]=> 50[浪漫]=> 50[科幻]=> 50[颤栗]=> 50)[film_types] => Array([大片]=> 0[独立]=> 0)[film_eras] =>数组([1920s_1940] => 0[1950s_1960] => 0[1970s_1980] => 0[1990s_2000] => 0[post_2010] => 0[pre_1920] => 0)[last_updated] => 2011-10-12 21:21:28))之前

我怎么能让它存储数组完全像我的第一个数组?我正在通过WP命令拉元值数组:

$wp_user_film_prefs_arr = get_user_meta( $wp_user_id, $wp_user_film_prefs_key_label, false );

我做错了什么吗?提前感谢!!

需要将最后一个参数false改为true:

$wp_user_film_prefs_arr = get_user_meta( $wp_user_id, $wp_user_film_prefs_key_label, true );

第三个参数是$single:

(boolean)(可选)如果为真则返回元数据字段的值,如果为假则返回一个数组。

默认值:假

在您看来,这听起来可能适得其反,但是元数据字段可以包含多个值。在你的例子中,你不需要那个,只需要一个值。单个值就是你的数组。

看到:get user meta <一口>法典

您是否考虑serialize()它作为一个str并将此str存储到您的db中,并且unserialize() str从db中获得后进入数组?

相关内容

  • 没有找到相关文章

最新更新