我正在尝试比较两个数组以获取两个数组中存在的第一个元素。我以为我可以使用 array_intersect 来执行此操作,但它似乎不起作用。
这是我的代码的一个代表性示例。
<?php
$a1=array(
new SimpleXMLElement('<LabelSpec><LabelSize>6</LabelSize><LabelFormat>ZPL</LabelFormat></LabelSpec>'),
new SimpleXMLElement('<LabelSpec><LabelSize>6</LabelSize><LabelFormat>EPL</LabelFormat></LabelSpec>'),
new SimpleXMLElement('<LabelSpec><LabelSize>6</LabelSize><LabelFormat>PNG</LabelFormat></LabelSpec>'),
new SimpleXMLElement('<LabelSpec><LabelSize>6</LabelSize><LabelFormat>JPG</LabelFormat></LabelSpec>'));
$a2=array(
new SimpleXMLElement('<LabelSpec><LabelSize>8</LabelSize><LabelFormat>EPL</LabelFormat></LabelSpec>'),
new SimpleXMLElement('<LabelSpec><LabelSize>6</LabelSize><LabelFormat>EPL</LabelFormat></LabelSpec>'),
new SimpleXMLElement('<LabelSpec><LabelSize>8</LabelSize><LabelFormat>PNG</LabelFormat></LabelSpec>'),
new SimpleXMLElement('<LabelSpec><LabelSize>6</LabelSize><LabelFormat>PNG</LabelFormat></LabelSpec>'),
new SimpleXMLElement('<LabelSpec><LabelSize>8</LabelSize><LabelFormat>PDF</LabelFormat></LabelSpec>'),
new SimpleXMLElement('<LabelSpec><LabelSize>6</LabelSize><LabelFormat>PDF</LabelFormat></LabelSpec>'),
new SimpleXMLElement('<LabelSpec><LabelSize>8</LabelSize><LabelFormat>JPG</LabelFormat></LabelSpec>'),
new SimpleXMLElement('<LabelSpec><LabelSize>6</LabelSize><LabelFormat>JPG</LabelFormat></LabelSpec>'),
new SimpleXMLElement('<LabelSpec><LabelSize>NONE</LabelSize><LabelFormat>NONE</LabelFormat></LabelSpec>')
);
$result=array_intersect($a1,$a2);
print_r($result);
?>
这给了我输出
Array ( [0] => SimpleXMLElement Object ( [LabelSize] => 6 [LabelFormat] => ZPL ) [1] => SimpleXMLElement Object ( [LabelSize] => 6 [LabelFormat] => EPL ) [2] => SimpleXMLElement Object ( [LabelSize] => 6 [LabelFormat] => PNG ) [3] => SimpleXMLElement Object ( [LabelSize] => 6 [LabelFormat] => JPG ) )
正如你所看到的,第一个元素$a1
存在于交集中,即使它不存在于$a2
.