我正在努力做一些我认为简单的事情。检索后元数组,搜索并添加到其中。搜索从未找到用户,如果已经添加,我可以看到元键值最终是一个越来越嵌套的多维数组。
// Get post ID
$id = get_the_ID();
// Get array of signed up users
$users_signed_up = get_post_meta($id, 'users_signed_up', false);
// Get the user ID
$user_id = get_current_user_id();
// Search retrieved array
if (!in_array($user_id, $users_signed_up)) {
// Add user to array
array_push($users_signed_up, $user_id);
// Add array back to post meta
update_post_meta($id, 'users_signed_up', $users_signed_up);
}
通过避免in_array搜索添加了几个用户的users_signed_up的var_dump。
array(1) { [0]=> array(2) { [0]=> array(2) { [0]=> array(1) { [0]=> int(32) } [1]=> int(36) } [1]=> int(1) } }
然而,我希望它看起来像是这样。
array(3) { [0]=> int(1) [1]=> int(32) [2]=> int(36) }
答案 0 :(得分:3)
$users_signed_up = get_post_meta($id, 'users_signed_up', true);
if (!in_array($user_id, $users_signed_up)) {
// Add user to array
$users_signed_up[]= $user_id;
// Add array back to post meta
update_post_meta($id, 'users_signed_up', $users_signed_up);
}
应该假设原始数组是正确的