需要一个函数来取消特定字段的数据序列化,以导出到XML文件。
我的序列化字段是
<B2B_Sale_price><![CDATA[a:1:{i:6704;a:2:{s:13:"regular_price";s:8:"17.33871";s:10:"sale_price";s:5:"13.77";}}]]></B2B_Sale_price>
我只想出口特价商品。
此功能非常适用于csv导出
function data_deserialize_csv($value){$output = '';$data = unserialize($value);print_r($data);$data = reset($data);return $data['sale_price'];}
但是xml返回错误PHP错误:reset((期望参数1是数组,bool在函数编辑器的第15行给出
您可以在这里使用代码的一个版本,从XML到JSON,再到数组。
function data_deserialize_xml($value)
{
// Parse as XML, treating the CDATA as content
$xml = simplexml_load_string($value, null, LIBXML_NOCDATA);
// Convert back and forth
$json = json_encode($xml);
$array = json_decode($json, TRUE);
// Grab the first item
$value = reset($array);
// Same code as before
$data = unserialize($value);
print_r($data);
$data = reset($data);
return $data['sale_price'];
}