php - array_diff on assoc array only showing the first result and not all -
this continuation question forgot ask full question. luck did because ask wrong question. ok have following 2 arrays
array ( [idasset] => 10000005 [assetname] => hp ) array ( [idasset] => 10000006 [assetname] => hp server ) array ( [idasset] => 10000009 [assetname] => hp laptop ) array ( [idasset] => 10000010 [assetname] => office printer ) array ( [idasset] => 10000023 [assetname] => test ) array ( [idasset] => 10000023 [assetname] => test )
i got these using following code
$firstarray = array(); $secondarray = array(); do{ array_push($firstarray,$array1); }while($array1 = mysql_fetch_assoc($assetup)); do{ array_push($secondarray ,$array2); }while($array2 = mysql_fetch_assoc($docup)); $array3 = array_diff_key($firstarray, $secondarray); print_r($array3);
however leaves me following:
array ( [2] => array ( [idasset] => 10000006 [assetname] => hp server ) [3] => array ( [idasset] => 10000009 [assetname] => hp laptop ) [4] => array ( [idasset] => 10000010 [assetname] => office printer ) [5] => array ( [idasset] => 10000023 [assetname] => test ) )
it seems leaving out first loop , still including test asset
i'm trying left 1 array not include items found in both arrays. example above 10000023 test removed both arrays leaving me first 4 rows $firstarray (this why first question have been wrong) want differences not similarities.
i assuming, arrays follows:
$data = array( array( "idasset" => 10000005, "assetname" => "hp" ), array( "idasset" => 10000006, "assetname" => "hp server" ), ... );
array_diff_assoc not going check sub arrays. in case compare numeric indizes isnt need.
a idea might use idasset
want compare array key:
$data = array( "10000005" => array( "idasset" => 10000005, "assetname" => "hp" ), "10000006" => array( "idasset" => 10000006, "assetname" => "hp server" ), ... );
if compare them via array_diff_key
, return differenced in key only. , since that's criteria ... voilá
Comments
Post a Comment