array_udiff_assoc ဖန်ရှင်
array_udiff_assoc ဖန်ရှင်သည် ပထမ ခင်းကျင်းမှုထဲရှိ နောက်ဆက်တွဲ ခင်းကျင်းမှုများတွင် မပါရှိသော အရာအားလုံးကို ပါဝင်သည့် ခင်းကျင်းမှုတစ်ခုကို ပြန်ပေးသည်။ သော့များကို နှိုင်းယှဉ်ခြင်းကို PHP ၏ နဂိုထည့်သွင်းထားသော ယန္တရားဖြင့် လုပ်ဆောင်ပြီး တန်ဖိုးများကို အသုံးပြုသူစိတ်ကြိုက် callback ဖန်ရှင်ဖြင့် နှိုင်းယှဉ်သည်။
ဝါကျဖွဲ့စည်းပုံ
array_udiff_assoc(array $array1, array $array2, ..., callable $value_compare_func): array
ဥပမာ
အသုံးပြုသူစိတ်ကြိုက် ဖန်ရှင်ဖြင့် ခင်းကျင်းမှုများကို နှိုင်းယှဉ်ခြင်း
<?php
function compare($a, $b) {
return $a <=> $b;
}
$array1 = ["a" => "green", "b" => "brown", "c" => "blue"];
$array2 = ["a" => "green", "b" => "yellow", "d" => "blue"];
print_r(array_udiff_assoc($array1, $array2, "compare"));
?>
ကုဒ် လုပ်ဆောင်ချက်၏ ရလဒ်
Array
(
[b] => brown
[c] => blue
)
ဥပမာ
နံပါတ်သားတင် သော့များဖြင့် နှိုင်းယှဉ်ခြင်း
<?php
function numCompare($a, $b) {
return $a - $b;
}
$array1 = [10 => "apple", 20 => "banana", 30 => "cherry"];
$array2 = [10 => "pear", 20 => "banana", 40 => "cherry"];
print_r(array_udiff_assoc($array1, $array2, "strcmp"));
?>
ကုဒ် လုပ်ဆောင်ချက်၏ ရလဒ်
Array
(
[10] => apple
[30] => cherry
)
ဥပမာ
ရှုပ်ထွေးသော အတိုင်းအတာများကို နှိုင်းယှဉ်ခြင်း
<?php
class Product {
public $id;
public $name;
public function __construct($id, $name) {
$this->id = $id;
$this->name = $name;
}
}
function objCompare($a, $b) {
return strcmp($a->name, $b->name);
}
$products1 = [
"p1" => new Product(1, "Laptop"),
"p2" => new Product(2, "Phone")
];
$products2 = [
"p1" => new Product(3, "Tablet"),
"p3" => new Product(2, "Phone")
];
print_r(array_udiff_assoc($products1, $products2, "objCompare"));
?>
ကုဒ် လုပ်ဆောင်ချက်၏ ရလဒ်
Array
(
[p1] => Product Object
(
[id] => 1
[name] => Laptop
)
)
ဤအကြောင်းကိုလည်း ကြည့်ပါ
-
ဖန်ရှင်
array_diff_assoc,
ထိုဖန်ရှင်သည် သော့များကို စစ်ဆေးကာ ခင်းကျင်းမှုများ၏ ကွာခြားချက်ကို တွက်ချက်ပေးသည် -
ဖန်ရှင်
array_udiff,
ထိုဖန်ရှင်သည် callback ဖန်ရှင်အသုံးပြု၍ ခင်းကျင်းမှုများ၏ ကွာခြားချက်ကို တွက်ချက်ပေးသည် (သော့များကို စစ်ဆေးခြင်းမပါဘဲ)