【问题标题】:How can I output specific elements in this php array?如何在这个 php 数组中输出特定元素?
【发布时间】:2013-05-16 04:37:42
【问题描述】:

我正在为 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

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

【问题讨论】:

标签: php arrays wordpress gravity-forms-plugin


【解决方案1】:

你必须unserialize你的数组:

$my_wake_playlist = unserialize($my_wake_playlist);

你会得到你的 PHP 数组。

【讨论】:

  • 谢谢,这为我节省了大量时间。在我的情况下,为了让它序列化数组,我必须使用 my_wake_playlist = unserialize($my_wake_playlist[0]);
【解决方案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"

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

【讨论】:

  • 感谢您的回答。它为我指明了正确的方向。
猜你喜欢
  • 2011-01-27
  • 2019-08-11
  • 1970-01-01
  • 1970-01-01
  • 2019-04-20
  • 2021-09-12
相关资源
最近更新 更多