基于作为数组的键值删除用户元

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于作为数组的键值删除用户元相关的知识,希望对你有一定的参考价值。

我有一个用户元键prize,这是一个包含prize typeprize date的数组。 unix时间戳中的日期。如何通过仅指定奖品日期来删除用户元数据?

示例代码:

delete_user_meta( $userID, 'prize', $meta_value ); 
$meta_value = array(
    'prize' => array(
         // Add something here like prize date = 1506556467
    ) , 
);

数据库中的键值如下所示:

a:2:{i:0;s:17:"prize name";i:1;i:1506556467;}
答案

由于它是作为序列化数据存储的,因此您无法使用一个delete_user_meta()函数来获取和删除它。

您可以使用mysql查询来代替:

global $wpdb;
$userID=1;
$specified_date='1506556467';
$wpdb->query($wpdb->prepare("DELETE from $wpdb->usermeta 
where user_id= %d 
and meta_key='prize' 
and meta_value like %s",$userID,'%'.$specified_date.'%'));

以上是关于基于作为数组的键值删除用户元的主要内容,如果未能解决你的问题,请参考以下文章

JavaScript:检查对象数组中是不是存在重复的键值并删除所有但最近添加的具有该键值的对象

基于键值取消设置数组[关闭]

如何在 Lua 的键值对表中弹出/删除下一个项目(任何)?

delete和Vue.delete删除数组的区别

怎么在 c++ 的 map 里面 放 key-map键值对

无法更新 NSUserDefaults 中字典的键值