تابع array_intersect_ukey() در PHP

مثال

مقایسه نام‌های کلیدهای دو آرایه (با استفاده از تابع تعریف شده توسط کاربر برای مقایسه نام‌های کلیدها) و بازگرداندن تقاطع:

<?php
function myfunction($a,$b)
{
if ($a===$b)
  {
  return 0;
  }
  return ($a>$b)?1:-1;
}
$a1=array("a"=>"red","b"=>"green","c"=>"blue");
$a2=array("a"=>"blue","b"=>"black","e"=>"blue");
$result=array_intersect_ukey($a1,$a2,"myfunction");
print_r($result);
?>

اجرای نمونه

تعریف و استفاده

تابع array_intersect_ukey() برای مقایسه نام‌های کلیدهای دو (یا بیشتر) آرایه‌ها و بازگرداندن تقاطع استفاده می‌شود.

نکته:این تابع از تابع تعریف شده توسط کاربر برای مقایسه نام‌های کلیدها استفاده می‌کند!

این تابع نام کلیدهای دو (یا بیشتر) آرایه‌ها را مقایسه می‌کند و آرایه تقاطع را بازمی‌گرداند که شامل همه کلیدهایی است که درarray1در حالی که در هر آرایه‌ای دیگر (array2 یا array3 و غیره) نام‌های کلید را دربر دارد.

توضیحات

تابع array_intersect_ukey() از تابع بازگشتی برای مقایسه نام‌های کلیدها برای محاسبه تقاطع آرایه‌ها استفاده می‌کند.

array_intersect_ukey() یک آرایه بازمی‌گرداند که شامل همه کلیدهایی است که در array1 ارزش‌های کلیدهایی که در یک زمان در همه آرایه‌های دیگر نیز وجود دارند.

این مقایسه از طریق تابع بازگشتی که توسط کاربر ارائه شده انجام می‌شود. این تابع دو پارامتر دارد، نام کلیدهایی که باید مقایسه شوند. اگر پارامتر اول کمتر از پارامتر دوم باشد، تابع باید یک عدد منفی بازگرداند، اگر دو پارامتر برابر باشند، باید 0 بازگرداند و اگر پارامتر اول بزرگتر از پارامتر دوم باشد، باید یک عدد مثبت بازگرداند.

قواعد

array_intersect_ukey(array1,array2,array3,...myfunction)
پارامترها توضیح
array1 ضروری. آرایه اول که با دیگر آرایه‌ها مقایسه می‌شود.
array2 ضروری. آرایه‌ای که با اولین آرایه مقایسه می‌شود.
array3,... اختیاری. آرایه‌های دیگری که با اولین آرایه مقایسه می‌شوند.
myfunction ضروری. رشته‌ای که تابع مقایسه قابل فراخوانی را تعریف می‌کند. اگر اولین پارامتر کمتر، برابر یا بیشتر از دومین پارامتر باشد، این تابع باید عدد صحیحی کمتر، برابر یا بیشتر از 0 بازگرداند.

جزئیات فنی

مقدار بازگشتی: یک آرایه جمع مشترک بازمی‌گرداند که شامل کلیدهای مشترک در تمام آرایه‌های مقایسه شده است (array1در حالی که در هر آرایه‌ای دیگر (array2 یا array3 و غیره) نام‌های کلید را دربر دارد.
نسخه PHP: 5.1.0+

مثال‌های بیشتر

مثال 1

مقایسه نام‌های کلید سه آرایه (با استفاده از تابع تعریف شده توسط کاربر) و بازگشت جمع مشترک:

<?php
function myfunction($a,$b)
{
if ($a===$b)
  {
  return 0;
  }
  return ($a>$b)?1:-1;
}
$a1=array("a"=>"red","b"=>"green","c"=>"blue");
$a2=array("a"=>"black","b"=>"yellow","d"=>"brown");
$a3=array("e"=>"purple","f"=>"white","a"=>"gold");
$result=array_intersect_ukey($a1,$a2,$a3,"myfunction");
print_r($result);
?>

اجرای نمونه