2016-07-21 28 views
1

$imeiserial我有123,222,333$imeitransferserial我有123,222。我只是想显示这两个数组之间的差异的价值,我使用这个代码,但它给了我错误: Array to string conversion我做错了什么?或者我需要在这个功能更多的转换?阵列与数据库的区别

$imei=$row["IMEI_MX"]; 
$imeiserial = explode(',', $imei); 
$imeitransfer=$row2["IMEI_MX"]; 
$imeitransferserial = explode(',', $imeitransfer); 

$a1=array($imeiserial); 
$a2=array($imeitransferserial); 

$result= array_diff_assoc($a1,$a2); 
+0

确认'$ imei'和'$ imeitransfer'都是字符串。 – Bailey

回答

3

$a1 = array分配是多余的。刚刚离开它:

$a1 = $imeiserial; // no need to put inside an array 
$a2 = $imeitransferserial; // once exploded, they are already an array 

而且使用*_assoc味道没有什么意义,你的钥匙是数字,只需使用array_diff

$result = array_diff($a1,$a2); 
+0

正确和非常快+10 –

+0

它给了我这样的错误注意:未定义的变量:imeitransferserial在线65上的C:\ xampp \ htdocs \ excel \ tryy.php 警告:array_diff():参数2不是数组在C:\ xampp \ htdocs \ excel \ tryy.php在线66 –

+0

@CarlosJhonmanlulu你有责任检查'$ imei = $ row [“IMEI_MX”]; $ imeiserial = explode(',',$ imei); $ imeitransfer = $ row2 [“IMEI_MX”]; $ imeitransferserial = explode(',',$ imeitransfer);'所有这些变量是否设置。去检查通过打印出来 –