我已经在post表中创建了一个自定义元键,现在当我转储它给我的值时,它的值是序列化的
数组([0]=>a:3:{s:10:“产品id”;s:4:“2592”;s:7:“用户id”;i:41;i:0;a:1:{i:0;s:63:“a:3:{s:10:“产品id”;s:4:“2592”;s:7:“用户id”;i:2;i:0;a:0:{};}})
我想从中获取user\\u id和product\\u id。其主要思想是为ID存储在此meta\\u密钥中的特定产品的用户隐藏一个按钮,该产品的ID位于此序列化数组中,以及如何做到这一点的任何想法我已经尝试了以下代码,但什么都没有发生
$next_in_line = get_post_meta(esc_attr($product->get_id()), \'_next_in_line\');
print_r($next_in_line);
$unserilize_data = unserialize($next_in_line);
print_r($unserilize_data[\'0\']);
但是给了我bool(false),当我使用这个函数时$next_in_line = get_post_meta(esc_attr($product->get_id()), \'_next_in_line\');
print_r($next_in_line);
$un_data = maybe_unserialize($next_in_line);
print_r($un_data[\'0\']);
它以以下格式返回值a: 3:{s:10:“产品id”;s:4:“2592”;s:7:“用户id”;i:41;i:0;a:1:{i:0;s:63:“a:3:{s:10:“产品id”;s:4:“2592”;s:7:“用户id”;i:2;i:0;a:0:{};};}}
现在我如何才能做出我上面提到的条件,我现在是空白的,请有人帮助我。提前谢谢你
UPDATE
我正在存储这样的数据function nextInLine(){
$product_id = $_POST[\'product_id\'];
$user_id = get_current_user_id();
$next_customer_meta = get_post_meta($product_id, \'_next_in_line\');
if($next_customer_meta == \'\'){
$meta_array = array(
\'product_id\' => $product_id,
\'user_id\' => $user_id
);
$meta_value = maybe_serialize($meta_array);
} else {
$meta_array = array(
\'product_id\' => $product_id,
\'user_id\' => $user_id
);
array_push($meta_array, $next_customer_meta);
$meta_value = maybe_serialize($meta_array);
}
var_dump($meta_value);
update_post_meta($product_id, \'_next_in_line\', $meta_value);
return true;
}
add_action(\'wp_ajax_nextInLine\', \'nextInLine\');
add_action(\'wp_ajax_nopriv_nextInLine\', \'nextInLine\');