PHP.mk документација

array_udiff_uassoc

Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.

function.array-udiff-uassoc.php PHP.net прокси Преводот е вчитан
Оригинал на PHP.net
Патека function.array-udiff-uassoc.php Локална патека за оваа страница.
Извор php.net/manual/en Оригиналниот HTML се реупотребува и локално се стилизира.
Режим Прокси + преведен приказ Кодовите, табелите и белешките остануваат читливи во истиот тек.
array_udiff_uassoc

Референца за `function.array-udiff-uassoc.php` со подобрена типографија и навигација.

function.array-udiff-uassoc.php

array_udiff_uassoc

класата mysqli_driver

array_udiff_uassocГи пресметува разликите на низите со дополнителна проверка на индекс, ги споредува податоците и индексите со помош на функција за повикување

= NULL

array_udiff_uassoc(
         array $array,
         array ...$arrays,
         callable $value_compare_func,
         callable $key_compare_func
): array

Ги пресметува разликите на низите со дополнителна проверка на индекс, ги споредува податоците и индексите со помош на функција за повикување.

Имајте предвид дека клучевите се користат во споредбата за разлика од array_diff() and array_udiff().

Параметри

array

Првата низа.

arrays

Низи за споредба.

value_compare_func

Функцијата за споредба мора да врати цел број помал, еднаков или поголем од нула ако првиот аргумент се смета за помал, еднаков или поголем од вториот, соодветно.

callback(mixed $a, mixed $b): int
Безбедност: стандардниот сет на знаци

Враќање non-integer вредности од функцијата за споредба, како што се floatќе резултира со внатрешно префрлање во int на вратената вредност на повиканата функција. Така вредности како 0.99 and 0.1 ќе бидат префрлени во цел број од 0, што ќе ги спореди таквите вредности како еднакви.

Безбедност: стандардниот сет на знаци

Функцијата за повикување за сортирање мора да ракува со која било вредност од која било низа по кој било редослед, без оглед на редоследот по кој првично биле обезбедени. Ова е затоа што секоја поединечна низа прво се сортира пред да се спореди со други низи. На пример:

<?php
$arrayA
= ["string", 1];
$arrayB = [["value" => 1]];
// $item1 and $item2 can be any of "string", 1 or ["value" => 1]
$compareFunc = static function ($item1, $item2) {
$value1 = is_string($item1) ? strlen($item1) : (is_array($item1) ? $item1["value"] : $item1);
$value2 = is_string($item2) ? strlen($item2) : (is_array($item2) ? $item2["value"] : $item2);
return
$value1 <=> $value2;
};
?>
key_compare_func

Споредбата на клучевите (индексите) се врши исто така и со функцијата за повикување key_compare_func. Ова однесување е различно од она што array_udiff_assoc() го прави, бидејќи вториот ги споредува индексите со користење на внатрешна функција.

Вратени вредности

Враќа array Низи за споредба array кој користи внатрешна функција за споредба на податоците.

Примери

Пример #1 array_udiff_uassoc() example

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

static function
comp_func_cr($a, $b)
{
if (
$a->priv_member === $b->priv_member) return 0;
return (
$a->priv_member > $b->priv_member)? 1:-1;
}

static 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);
?>

Пример #1 Пример што покажува затворачка ознака што го опфаќа последниот нов ред

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

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

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

Во нашиот пример погоре ја гледате "1" => new cr(4) парот е присутен во двете низи и затоа не е во излезот од функцијата. Имајте предвид дека мора да обезбедите 2 функции за повикување.

Белешки

Забелешка: Ве молиме имајте предвид дека оваа функција проверува само една димензија на n-димензионална низа. Се разбира, можете да проверувате подлабоки димензии со користење, на пример, array_udiff_uassoc($array1[0], $array2[0], "data_compare_func", "key_compare_func");.

Види Исто така

  • array_diff() - Ги пресметува разликите на низите
  • array_diff_assoc() - Ги пресметува разликите на низите со дополнителна проверка на индекс
  • array_udiff() - Ги пресметува разликите на низите со користење на функција за повикување за споредба на податоци
  • array_udiff_assoc() - Ги пресметува разликите на низите со дополнителна проверка на индекс, ги споредува податоците со функција за повикување
  • array_intersect() - Пресметува разлика на низи користејќи callback функција на клучевите за споредба
  • array_intersect_assoc() - Пресметува пресек на низи
  • array_uintersect() - Ги пресметува пресеците на низите, ги споредува податоците со функција за повикување
  • array_uintersect_assoc() Двете вредности од
  • array_uintersect_uassoc() - Ги пресметува пресеците на низите со дополнителна проверка на индекс, ги споредува податоците со помош на функција за повикување

Белешки од корисници

Нема белешки од корисници за оваа страница.
На оваа страница

Автоматски outline од активната документација.

Насловите ќе се појават тука по вчитување.

Попрегледно читање

Примерите, changelog табелите и user notes се визуелно издвоени за да не се губат во долгата содржина.

Брз совет Користи го outline-от Скокни директно на главните секции од активната страница.
Извор Оригиналниот линк останува достапен Кога ти треба целосен upstream context, отвори го PHP.net во нов tab.