2つの配列でarray_diff()を使用するにはどうすればよいか知りたいです。以下をご覧ください。
$ duplicates = Array([0] => Array([url] => http://www.cheapohotels.co.uk/resources /index_car_hire.html [ip] => 77.92.74.100 [status] => Duplicate)[ 1] =>配列([url] => http://www.villasinprovence.co.uk/resources/index_car_hire.html [ip] => 77.92.74.100 [status] => Duplicate)[2] => Array( [url] => http://www.mobiz.co.uk/resources/index_recreation_autos.html [ip] => 77.92.74.100 [status] => Duplicate)[3] => Array([url] => http ://www.holidaysoffersuk.co.uk/resources/index_car_hire.html [ip] => 77.92.74.100 [status] => Duplicate)[4] => Array([url] => http://www.ticketsforsaleuk .co.uk / resources / index_companies_automotive.html [ip] => 77.92.74.100 [status] => Duplicate)[5] => Array([url] => http://www.holidayparkfinder.co.uk/resources /index_car_hire。html [ip] => 213.171.218.208 [status] => Duplicate)[6] => Array([url] => http://www.themeparkhotels.co.uk/resources/index_car_hire.html [ip] => 213.171.218.10[ステータス]=>重複)) $ Total_val = Array([0] => Array([url] => http://www.cheapohotels.co.uk/resources/index_car_hire.html [ip] => 77.92.74.100 [status] => Unique)[ 1] =>配列([url] => http://www.holidayparkfinder.co.uk/resources/index_car_hire.html [ip] => 213.171.218.208[ステータス]=>一意)[2] =>配列( [url] => http://www.themeparkhotels.co.uk/resources/index_car_hire.html [ip] => 213.171.218.10 [status] => Unique)[3] => Array([url] => http ://www.villasinprovence.co.uk/resources/index_car_hire.html [ip] => 77.92.74.100 [status] => Unique)[4] => Array([url] => http://usedmotorcycleaccessories.com / resources / [ip] => 174.37.15.56 [status] => Unique)[5] => Array([url] => http://aftermarket-motorcycleparts.com/resources/ [ip] => 50.23.134.232 [ステータス]=>一意)[6] =>Array([url] => http://cheaponlinemotorcycleparts.com/resources/ [ip] => 173.192.128.240 [status] => Unique)[7] => Array([url] => http://usedcaronlinereviews。 com / resources / [ip] => 50.23.153.112 [status] => Unique)[8] => Array([url] => http://cartransportationreviews.com/resources/ [ip] => 50.23.132.48 [ status] => Unique)[9] => Array([url] => http://vehicleaccidentinsurancequotes.com/ [ip] => 65.75.176.111 [status] => Unique)[10] => Array([url ] => http://www.netbizcorp.com/linkmachine/resources/resources_recreation_autos.html [ip] => 74.209.213.8 [status] => Unique)[11] => Array([url] => http:/ /www.mobiz.co.uk/resources/index_recreation_autos.html [ip] => 77.92.74.100 [status] => Unique)[12] => Array([url] => http://www.holidaysoffersuk.co 。uk / resources / index_car_hire.html [ip] => 77.92.74.100 [status] => Unique)[13] => Array([url]=>http://www.ticketsforsaleuk.co.uk/resources/index_companies_automotive。 html [ip] => 77.92.74.100[ステータス]=>一意))
echo <pre>'; print_r($duplicates); echo '</pre>';
上記の配列では、値(DuplicateおよびUnique)があります。プログラムのデフォルトでは、$ Total_valが保存され、値に一意のステータスが示されます。ただし、これらの配列には一意の値がありません。一意の値を取得するには、$duplicatesから減算する必要があります。そして、phpでも同じことをしているので、正確な値は得られません...他の値ではなくIPで減算します。この背後にある主な理由。=のような一意のIPを使用して新しい配列を作成する必要があります
$ new_array = array_diff($ Total_val、$ duplicates); //この関数の出力は 配列 ( ) ; //空白の結果を表示します。 $ new_array = array_diff_assoc($ array1、$ dup); //結果をエコーすると、出力は次のようになります Array([7] => Array([url] => http://usedcaronlinereviews.com/resources/ [ip] => 50.23.153.112 [status] => Unique)[8] => Array([url] = > http://cartransportationreviews.com/resources/ [ip] => 50.23.132.48 [status] => Unique)[9] => Array([url] => http://vehicleaccidentinsurancequotes.com/ [ip] = > 65.75.176.111 [status] => Unique)[10] => Array([url] => http://www.netbizcorp.com/linkmachine/resources/resources_recreation_autos.html [ip] => 74.209.213.8 [status ] =>一意)[11] =>配列([url] => http://www.mobiz.co.uk/resources/index_recreation_autos.html [ip] => 77.92.74.100[ステータス]=>一意)[ 12] =>配列([url] => http://www.holidaysoffersuk.co.uk/resources/index_car_hire.html [ip] => 77.92.74.100 [status] => Unique)[13] => Array( [url] => http://www.ticketsforsaleuk.co.uk/resources/index_companies_automotive.html [ip] => 77.92.74.100 [status] => Unique))
この関数「array_diff_assoc()」からの最終出力を確認できます。ただし、正確な値は表示されません。あなたがIP77.92.74.100を見ることができるように。それは3回繰り返され、それでも独特の状態にあります。
Array ( [0] => Array ( [url] => http://www.cheapohotels.co.uk/resources/index_car_hire.html [ip] => 77.92.74.100 [status] => Unique ) [1] => Array ( [url] => http://www.holidayparkfinder.co.uk/resources/index_car_hire.html [ip] => 213.171.218.208 [status] => Unique ) [2] => Array ( [url] => http://www.themeparkhotels.co.uk/resources/index_car_hire.html [ip] => 213.171.218.10 [status] => Unique ) [3] => Array ( [url] => http://www.villasinprovence.co.uk/resources/index_car_hire.html [ip] => 77.92.74.100 [status] => Unique ) [4] => Array ( [url] => http://usedmotorcycleaccessories.com/resources/ [ip] => 174.37.15.56 [status] => Unique ) [5] => Array ( [url] => http://aftermarket-motorcycleparts.com/resources/ [ip] => 50.23.134.232 [status] => Unique ) [6] => Array ( [url] => http://cheaponlinemotorcycleparts.com/resources/ [ip] => 173.192.128.240 [status] => Unique ) [7] => Array ( [url] => http://usedcaronlinereviews.com/resources/ [ip] => 50.23.153.112 [status] => Unique ) [8] => Array ( [url] => http://cartransportationreviews.com/resources/ [ip] => 50.23.132.48 [status] => Unique ) [9] => Array ( [url] => http://vehicleaccidentinsurancequotes.com/ [ip] => 65.75.176.111 [status] => Unique ) [10] => Array ( [url] => http://www.netbizcorp.com/linkmachine/resources/resources_recreation_autos.html [ip] => 74.209.213.8 [status] => Unique ) [11] => Array ( [url] => http://www.mobiz.co.uk/resources/index_recreation_autos.html [ip] => 77.92.74.100 [status] => Unique ) [12] => Array ( [url] => http://www.holidaysoffersuk.co.uk/resources/index_car_hire.html [ip] => 77.92.74.100 [status] => Unique ) [13] => Array ( [url] => http://www.ticketsforsaleuk.co.uk/resources/index_companies_automotive.html [ip] => 77.92.74.100 [status] => Unique ) )
私がこの機能を試したときに私にこれを与えます
function cmp($a, $b) {
return strcmp($a['status'], $b['status']);
}
$diff = array_udiff($array1, $dup, 'cmp');
ステータスは「すべての値に固有」のままです。それに応じて言及したいと思います。重複IPが利用可能な場合のように、ステータスは重複になります。ユニークの場合と同じです。
このプログラムの提案をお願いします。
ありがとう
ロッド