0

我正在为 WordPress 使用重力表单,其中一个表单元素是一个可以有多个条目的列表项。我正在构建的网站上有一个页面,它将将此项目中的数据输出到页面上,但我无法从数组中访问实际项目。

这是我用来检索数组的代码:

$user_id = $current_user->ID;
$key = 'my_playlist';
$single = false;

$my_playlist = get_user_meta( $user_id, $key, $single );
print_r(array_values($my_playlist));

我从中得到的输出如下所示:

Array ( [0] => a:2:{i:0;a:2:{s:10:"Song Title";s:15:"test song title";s:11:"Song Artist";s:16:"test song artist";}i:1;a:2:{s:10:"Song Title";s:11:"test song 2";s:11:"Song Artist";s:13:"test artist 2";}} )

到目前为止,我已经尝试访问这样的元素:

foreach($my_playlist as $item){
    echo 'Item: ' . $item[0] . '<br />';
}

但它只输出Item: a

我想像这样输出它:

歌曲名称:测试歌曲名称 歌曲艺术家:测试歌曲艺术家

歌曲名称:测试歌曲 2 歌曲艺术家:测试艺术家 2

如何访问此数组中的每个元素?另外,这是什么类型的数组?它可能会帮助我了解如何访问所需的项目。

4

2 回答 2

3

你必须反序列化你的数组:

$my_wake_playlist = unserialize($my_wake_playlist);

你会得到你的 PHP 数组。

于 2013-05-21T12:06:32.943 回答
2

这个字符串:

a:2:{i:0;a:2:{s:10:"Song Title";s:15:"test song title";s:11:"Song Artist";s:16:"test song artist";}i:1;a:2:{s:10:"Song Title";s:11:"test song 2";s:11:"Song Artist";s:13:"test artist 2"

是序列化的。使用反序列化函数对其进行解码。

于 2013-05-21T12:06:20.117 回答