mysql - 添加/更新并显示元值数组

标签 mysql arrays wordpress

我正在尝试将元值数组添加到单个元键并将它们显示在列表中,如下所示:

  • 评估一,通过
  • 评估二,通过

我用于更新/添加 user_meta 的代码:

    $user_id = $current_user->ID;
    $key = 'assessment_result';
    $assessment_name = get_the_title();
    $new_value = array($assessment_name, 'Passed');
    $meta = get_user_meta($user_id, $key, false);
    if ( ! array($meta) ) {
        $meta = array();
    }
    $meta[] = $new_value;
    update_user_meta($user_id, $key, $meta, $unique);

完成两次评估后,我的数组如下所示:

Array ( [0] => Array ( [0] => Array ( [0] => Array ( [0] => Assessment Two [1] => Passed ) ) [1] => Array ( [0] => Assessment One [1] => Passed ) ) ) 1 

数组似乎太多了!

然后我的查询如下所示:

$user_assessment_results = get_user_meta($user_id, 'assessment_result', true);
echo '<ul>';
foreach ($user_assessment_results as $user_assessment_result) {
    echo '<li>';
    $output = array();
    foreach ($user_assessment_result as $result_item) {
        $output[] =  $result_item;
    }
    if( count( $output ) ) echo join( ", ", $output );
    echo '</li>';
}
echo '</ul>';

结果是:

  • 数组
  • 评估一,通过

你能建议我哪里出错了吗?

最佳答案

我发现了问题$meta = get_user_meta($user_id, $key, false);应该是$meta = get_user_meta($user_id, $key, true);

关于mysql - 添加/更新并显示元值数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47287113/

相关文章:

php - 将键值对添加到现有数组

javascript - 通过 "jquery.cycle.all.js"创建特殊的 WordPress 幻灯片

mysql - 如何在 Laravel 5 中使用 Eloquent 更新数据透视表

php - 如何检查 MySQL 存储函数返回空结果的原因?

c# - 将两个不同的对象存储在一个 var 数组中?

c - 理解下面一行

PHP MySQL : Delete row if its not present in API data

javascript - 我在将 javascript 文件应用到 Wordpress 时遇到问题。如何入队脚本?

php - 如何自动化雅虎小型企业中托管的数据库备份

javascript - 如何通过使用 javascript 检查 mysql 数据库中是否存在该值来从选择下拉框中删除选项