我遇到的问题是反序列化从数据库获取的数据。反序列化功能不起作用。我没有看到任何错误或警告。当我打印数据库数据并将其粘贴到unserialize函数时,它正在工作。我使用以下代码。
数据库数据是:
s:333:"a:24:{i:0;s:2:"46";i:1;s:2:"43";i:2;s:2:"42";i:3;s:2:"37";i:4;s:2:"36";i:5;s:2:"35";i:6;s:2:"33";i:7;s:2:"31";i:8;s:2:"30";i:9;s:2:"28";i:10;s:2:"26";i:11;s:2:"24";i:12;s:2:"22";i:13;s:2:"20";i:14;s:2:"74";i:15;s:2:"75";i:16;s:2:"77";i:17;s:2:"79";i:18;s:2:"81";i:19;s:2:"83";i:20;s:2:"85";i:21;s:2:"87";i:22;s:2:"89";i:23;s:2:"91";}";a:24:{i:0;s:2:"46";i:1;s:2:"43";i:2;s:2:"42";i:3;s:2:"37";i:4;s:2:"36";i:5;s:2:"35";i:6;s:2:"33";i:7;s:2:"31";i:8;s:2:"30";i:9;s:2:"28";i:10;s:2:"26";i:11;s:2:"24";i:12;s:2:"22";i:13;s:2:"20";i:14;s:2:"74";i:15;s:2:"75";i:16;s:2:"77";i:17;s:2:"79";i:18;s:2:"81";i:19;s:2:"83";i:20;s:2:"85";i:21;s:2:"87";i:22;s:2:"89";i:23;s:2:"91";}
我使用的代码是:
$sql_query = "SELECT * FROM `wp_usermeta` WHERE `meta_key` LIKE 'Assign_Lead' AND `meta_value` LIKE '%".$lead_id."%'";
$scID = $wpdb->get_results($sql_query);
foreach($scID as $kc => $vc){
print_r($vc->meta_value);
$resutlt = unserialize($vc->meta_value);
//print_r($resutlt);
if(in_array($lead_id,$resutlt)){
$scid = $vc->user_id;
$user_info = get_userdata($scid);
$scname = $user_info->display_name;
break;
}
}
答案 0 :(得分:0)
使用简单数组时,不需要指定i = x。 这样做可以帮助你
a:24:{s:2:"46";s:2:"43";s:2:"42";s:2:"37"..}
如果在数组中使用数组,则需要在其中指定i = x。