我在表中搜索记录,并将它们放入数组中。我在另一个表中搜索记录,并将它们放在另一个数组中。如果每个表中的查询行数相同,并且数组相同,则代码可以识别相等性。
当一个表中的查询行数与另一张表中的查询数不同时,即使数组相同,代码也会将其标识为不同。
//Query1
while(){
$vetor_xml[$cfop] += $vTotal;
}
//Query2
while(){
$vetor_c190[$cfop] += $aux_vl_opr;
}
function identical_values( $arrayA , $arrayB ) {
///sort( $arrayA );
///sort( $arrayB );
return ($arrayA == $arrayB);
}
$r = identical_values( $vetor_xml, $vetor_c190);
var_dump($r);
if(($vetor_xml=== $vetor_c190)==false){
echo "ERROR";
}
else{
echo "OK";
}
此处是下载测试http://github.com/rafaelspfonseca/test的代码和slq数据的链接
答案 0 :(得分:0)
尝试使用var postRefHandle: DatabaseHandle!
var query = DatabaseQuery()
var postsRefObserver = Database.database().reference().child("posts")
// called in viewWillAppear
func listen() {
self.query = postsRefObserver
.queryOrderedByKey()
.queryLimited(toLast: 1)
self.postRefHandle = self.query.observe(.childAdded) { (snapshot) in
// do something
}
}
// called in viewWillDisappear
func remove() {
if let postRefHandle = postRefHandle {
self.postsRefObserver.removeObserver(withHandle: postRefHandle)
}
self.postsRefObserver.removeAllObservers()
}
array_diff
答案 1 :(得分:0)
已解决!。遵循解决方案。
function identical_values( $arrayA , $arrayB ) {
///sort( $arrayA );
//sort( $arrayB );
return ($arrayA == $arrayB);
}
$res = identical_values( $vetor_xml , $vetor_c190 );
$result = array_diff_assoc($vetor_xml, $vetor_c190);//add new verification
if(($tem_xml>0)&&(empty($res))) {
//add new verification here
if(empty($result)){
echo"<p><b>EQUAL</b>";
}
else{
echo "<p><b>NOT EQUAL</b>";
$divergencia++;
}
}
else{
echo"<p><b>EQUAL</b>";
}