ホームページ >バックエンド開発 >PHPチュートリアル >同じ長さの 2 つの配列があります。重複排除後にそれらの配列の一貫性を保つにはどうすればよいでしょうか?
例
$t1=Array ([0] =>南昌 [1] =>南昌 [2] =>甘州 [3] =>九江 [4] =>甘州 [5] =>九江 )
$t2=Array ( [0] => 2013-09-23 17:48:33 [1] => 2013-09-23 12:48:42 [2] => 2013-09- 21 17:48:23 [3] => 2013-09-12 08:40:03 [4] => 2013-09-23 10:28:22 : 28:13 )
これで $t1 と $t2 は両方とも同じ長さになりました。そしてそれらの間には対応関係があります。つまり、t1[0]とt2[0]です。 。 t1[1] と t2[1]...t1[i] と t2[i] は関連しています。
ここで、t1 の値が繰り返されないことを認識したいと思います。次に、t2 に対応します。重複がある場合は、時間の最小のものを t2 に保持します。
そして、新しい配列 t22 の値は小さいものから大きいものの順に並んでいます。
得られた結果は、
$t11=Array ( [0] => 九江 [1] => 贛州 [2] => 南昌 )
$t22=Array ( [0] => 2013- 09-12 08:40:03 [1] => 2013-09-21 17:48:23 [2] => 2013-09-23 12:48:42 )
または t1 と t2 を A にマージします二次元配列の方が実装しやすいです、ありがとうございます。
$t1 = Array ( 0 => '南昌', 1 => '南昌', 2 => '赣州', 3 => '九江', 4 => '赣州', 5 => '九江'); $t2 = Array ( 0 => '2013-09-23 17:48:33', 1 => '2013-09-23 12:48:42', 2 => '2013-09-21 17:48:23', 3 => '2013-09-12 08:40:03', 4 => '2013-09-23 10:28:22', 5 => '2013-09-27 11:28:13' );foreach(array_map(null, $t1, $t2) as $r) { if(! isset($t[$r[0]])) $t[$r[0]] = $r[1]; else $t[$r[0]] = min($t[$r[0]], $r[1]);}asort($t);$t11 = array_keys($t);$t22 = array_values($t);print_r($t11);print_r($t22);Array