П О Р Т А Л                            
С Е Т Е В Ы Х                          
П Р О Е К Т О В                        
  
Поиск по сайту:
                                                 
Главная

О проекте

Web-мастеру
     HTML & JavaScript
     SSI
     Perl
     PHP
     XML & XSLT
     Unix Shell

MySQL

Безопасность

Хостинг

Другое








Самое читаемое:

Учебник PHP - "Для Чайника".
Просмотров 5477 раз(а).

Иллюстрированный самоучитель по созданию сайтов.
Просмотров 7813 раз(а).

Учебник HTML.
Просмотров 4576 раз(а).

Руководство по PHP5.
Просмотров 1128 раз(а).

Хостинг через призму DNS.
Просмотров 6368 раз(а).

Подборка текстов стандартных документов.
Просмотров 57190 раз(а).

Учебник PHP - Самоучитель
Просмотров 4780 раз(а).

Документация на MySQL (учебник & справочное руководство)
Просмотров 10808 раз(а).

Внешние атаки...
Просмотров 6396 раз(а).

Учебник PHP.
Просмотров 3912 раз(а).

SSI в примерах.
Просмотров 930 раз(а).



 
 
| Добавить в избранное | Сделать стартовой | Помощь





Руководство по PHP
Пред. След.

array_udiff_uassoc

(PHP 5)

array_udiff_uassoc -- Вычислить расхождение в массивах с дополнительной проверкой индексов, используя для сравнения значений и индексов функцию обратного вызова

Описание

array array_udiff_uassoc ( array array1, array array2 [, array ..., callback data_compare_func, callback key_compare_func] )

array_udiff_uassoc() возвращает array, все значения параметра array1, отсутствующие в последующих аргументах. Обратите внимание, что для сравнения используются ключи, в отличие от array_diff() и array_udiff(). Сравнение значений массива происходит при помощи определённой пользователем функции обратного вызова: data_compare_func. В этом смысле поведение отличается от поведения array_diff_assoc(), использующей для сравнения внутреннюю функцию. Сравнение ключей (индексов) происходит также при помощи определённой пользователем функции обратного вызова key_compare_func. Это поведение отлично от поведения array_udiff_assoc(), которая использует для сравнения ключей встроенную функцию.

Пример 1. Пример использованияarray_udiff_uassoc()

<?php
class cr {
    
private $priv_member;
    function
cr($val)
    {
        
$this->priv_member = $val;
    }

    function
comp_func_cr($a, $b)
    {
        if (
$a->priv_member === $b->priv_member) return 0;
        return (
$a->priv_member > $b->priv_member)? 1:-1;
    }
    
    function
comp_func_key($a, $b)
    {
        if (
$a === $b) return 0;
        return (
$a > $b)? 1:-1;
    }
}
$a = array("0.1" => new cr(9), "0.5" => new cr(12), 0 => new cr(23), 1=> new cr(4), 2 => new cr(-15),);
$b = array("0.2" => new cr(9), "0.5" => new cr(22), 0 => new cr(3), 1=> new cr(4), 2 => new cr(-15),);

$result = array_udiff_uassoc($a, $b, array("cr", "comp_func_cr"), array("cr", "comp_func_key"));
print_r($result);
?>

Результат выполнения данного примера:

Array
(
[0.1] => cr Object
(
[priv_member:private] => 9
)

[0.5] => cr Object
(
[priv_member:private] => 12
)

[0] => cr Object
(
[priv_member:private] => 23
)
)

В вышеприведённом примере вы можете видеть, что пара "1" => new cr(4) присутствует в обоих массивах и поэтому отсутствует в выводе функции. Держите в уме, что вы можете использовать две функции обратного вызова.

Для сравнения используется функция, определённая пользователем. Она должна возвращать целое число меньшее, равное или большее нуля, если первый параметр, соответственно, должен считаться меньше, равен или больше второго.

Замечание: Пожалуйста, обратите внимание, что эта функция обрабатывает только одно измерение многомерного массива. Разумеется, вы можете обработать более одного измерения, используя array_udiff_uassoc($array1[0], $array2[0], "data_compare_func", "key_compare_func");.

См. также array_diff(), array_diff_assoc(), array_diff_uassoc(), array_udiff(), array_udiff_assoc(), array_intersect(), array_intersect_assoc(), array_uintersect(), array_uintersect_assoc() и array_uintersect_uassoc().



Если Вы не нашли что искали, то рекомендую воспользоваться поиском по сайту:
 





Copyright © 2005-2016 Project.Net.Ru