کلاس Set

مجتبی پاکزاد PHP-ML 0.6.2 در حال تکمیل رایگان

این کلاس، عملیات اصلی بر روی آرایه‌های PHP را پوشش می‌دهد.

ایجاد

برای ایجاد یک مجموعه، از یک آرایه یکنواخت که فقط شامل مقدار اولیه استفاده کنید:

use \Phpml\Math\Set;

$set = new Set([1, 2, 2, 3, 1.1, -1, -10]);
$set->toArray();
// return [-10, -1, 1, 1.1, 2, 3]

$set = new Set(['B', '', 'A']);
$set->toArray();
// return ['', 'A', 'B']

اصطلاحات فنی

آرایه یکنواخت (Flat Array) که گاهی به آن آرایه تک‌بعدی نیز گفته می‌شود در مقابل آرایه چندبعدی (Multidimensional Array) قرار دارد.

آرایه تزریق شده، با SORT_ASC سورت شده، تکراری‌ها حذف شده و اندیس‌ها بازنویسی شده‌اند.

اجتماع

مجموعه‌ای حاصل از اجتماع دو مجموعه بسازید:

use \Phpml\Math\Set;

$union = Set::union(new Set([1, 3]), new Set([1, 2]));
$union->toArray();
//return [1, 2, 3]

اشتراک

مجموعه‌ای حاصل از اشتراک دو مجموعه بسازید:

use \Phpml\Math\Set;

$intersection = Set::intersection(new Set(['A', 'C']), new Set(['B', 'C']));
$intersection->toArray();
//return ['C']

مکمل

مجموعه‌ای نظری از ناهمسانی دو مجموعه بسازید:

use \Phpml\Math\Set;

$difference = Set::difference(new Set(['A', 'B', 'C']), new Set(['A']));
$union->toArray();
//return ['B', 'C']

افزودن عنصر به مجموعه

use \Phpml\Math\Set;

$set = new Set([1, 2]);
$set->addAll([3]);
$set->add(4);
$set->toArray();
//return [1, 2, 3, 4]

حذف عنصر از مجموعه

use \Phpml\Math\Set;

$set = new Set([1, 2]);
$set->removeAll([2]);
$set->remove(1);
$set->toArray();
//return []

بررسی تعلق اعضا به مجموعه

use \Phpml\Math\Set;

$set = new Set([1, 2]);
$set->containsAll([2, 3]);
//return false
$set->contains(1);
//return true

عدد اصلی مجموعه

use \Phpml\Math\Set;

$set = new Set([1, 2]);
$set->cardinality();
//return 2

مجموعه تهی

use \Phpml\Math\Set;

$set = new Set();
$set->isEmpty();
//return true

کار با حلقه‌ها

use \Phpml\Math\Set;

$set = new Set(['A', 'B', 'C']);

foreach($set as $element) {
    echo "$element, ";
}

// echoes A, B, C
منبع
Set