downloads | documentation | faq | getting help | mailing lists | licenses | wiki | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

array_diff> <array_diff_uassoc
Last updated: Fri, 18 Sep 2009

view this page in

array_diff_ukey

(PHP 5 >= 5.1.0)

array_diff_ukeyИзчислява разлика на масиви използювайки потребителска функция за обратно извикване за сравнение на ключовете

Описание

array array_diff_ukey ( array $array1 , array $array2 [, array $ ... ], callback $key_compare_func )

Сравнява ключовете от array1 с array2 и връща разликите. За разлика от функция array_diff(), тук за сравнение вместо стойностите се използват ключовете на масивите.

За разлика от функция array_diff_key(), за сравнение на индексите се използва не вътрешна функция, а потребителска функция за обратно извикване.

Параметри

array1

Масивът спрямо който се извършва сравнението

array2

Масивът с който се извършва сравнението

...

Още масиви с които се извършва сравнението

key_compare_func

Функцията за обратно извикване (callback). Обратно извикващата функция трябва да върне цяло число по-малко, равно или по-голямо от нула, ако първият аргумент е съответно по-малък, равен или по-голям от втория.

Връщани стойности

Връща масив съдържащ всички стойности от array1 , които не присъстват в никой от другите масиви.

Примери

Example #1 Пример за array_diff_ukey()

<?php
function key_compare_func($key1$key2)
{
    if (
$key1 == $key2)
        return 
0;
    else if (
$key1 $key2)
        return 
1;
    else
        return -
1;
}

$array1 = array('blue'  => 1'red'  => 2'green'  => 3'purple' => 4);
$array2 = array('green' => 5'blue' => 6'yellow' => 7'cyan'   => 8);

var_dump(array_diff_ukey($array1$array2'key_compare_func'));
?>

Примерът по-горе ще изведе:

array(2) {
  ["red"]=>
  int(2)
  ["purple"]=>
  int(4)
}

Бележки

Забележка: Функцията проверява само една размерност на n-мерен масив. Разбра се, можете да проверявате и други размерности посредством array_diff_ukey($array1[0], $array2[0], 'callback_func');.

Вж. също

  • array_diff() - Изчислява разлика на масиви
  • array_udiff() - Изчислява разлика на масиви посредством функция за обратно извикване за сравнение на данните
  • array_diff_assoc() - Изчислява разлика на масиви с допълнителна проверка на индекса
  • array_diff_uassoc() - Изчислява разлика на масиви с допълнителна проверка на индекса извършвана от потребителска функция за обратно извикване
  • array_udiff_assoc() - Изчислява разлика на масиви с допълнителна проверка на индекса, сравнявайки данните посредством функция за обратно извикване
  • array_udiff_uassoc() - Изчислява разлика на масиви с допълнителна проверка на индекса, сравнявайки данните и индексите посредством функция за обратно извикване
  • array_diff_key() - Изчислява разлика на масиви използювайки ключовете за сравнение
  • array_intersect() - Изчислява сечението на масиви
  • array_intersect_assoc() - Изчислява сечението на масиви с проверка на индекса
  • array_intersect_uassoc() - Изчислява сечението на масиви с проверка на индекса, сравнявайки индексите посредством функция за обратно извикване
  • array_intersect_key() - Изчислява сечението на масиви използвайки ключовете при сравнението
  • array_intersect_ukey() - Изчислява сечението на масиви използвайки функция за обратно извикване върху ключовете при сравнението



add a note add a note User Contributed Notes
array_diff_ukey
jordancdarwin at googlemail dot com
15-Dec-2007 09:41
Note, also that when you are using a callback function you can use the text-placeholders as this function relies on the retval of the function you give.

So, instead of 1,0,-1 you can use TRUE and FALSE if using only two options.

Just thought it may help you

array_diff> <array_diff_uassoc
Last updated: Fri, 18 Sep 2009
 
 
show source | credits | stats | sitemap | contact | advertising | mirror sites