Kazi array_diff_uassoc

Kazi array_diff_uassoc inalinganisha arrays na kurudisha vipengele kutoka kwa array ya kwanza ambavyo havipo katika arrays zinazofuata. Wakati huo huo, kulinganisha funguo kunafanywa kwa kutumia kazi ya callback ya mtumiaji.

Syntax

phparray_diff_uassoc(array $array1, array $array2, ..., callable $key_compare_func): array

Mfano

Wacha tulinganishe arrays mbili na kazi ya mtumiaji ya kulinganisha funguo:

php<?php
  function compareKeys($a, $b) {
    if ($a === $b) return 0;
    return ($a > $b) ? 1 : -1;
  }

  $array1 = ['a' => 1, 'b' => 2, 'c' => 3];
  $array2 = ['a' => 1, 'b' => 5, 'd' => 4];

  $res = array_diff_uassoc($array1, $array2, 'compareKeys');
  print_r($res);
?>

Matokeo ya utekelezaji wa kodi:

php[
  'b' => 2,
  'c' => 3,
]

Mfano

Kulinganisha kwa kuzingatia herufi kubwa na ndogo za funguo:

php<?php
  function caseSensitiveCompare($a, $b) {
    return strcasecmp($a, $b);
  }

  $array1 = ['A' => 1, 'B' => 2, 'C' => 3];
  $array2 = ['a' => 1, 'b' => 2, 'd' => 4];

  $res = array_diff_uassoc($array1, $array2, 'caseSensitiveCompare');
  print_r($res);
?>

Matokeo ya utekelezaji wa kodi:

php[
  'C' => 3
]

Angalia pia

  • kazi array_diff,
    ambayo inalinganisha arrays kwa kutumia thamani
  • kazi array_diff_assoc,
    ambayo inalinganisha arrays kwa kutumia thamani na funguo
  • kazi array_udiff_assoc,
    ambayo inalinganisha arrays na kazi ya callback kwa thamani