{"id":21639047,"url":"https://github.com/vasiliy-makogon/php-collection","last_synced_at":"2026-03-08T17:35:54.510Z","repository":{"id":198121738,"uuid":"154514243","full_name":"Vasiliy-Makogon/PHP-Collection","owner":"Vasiliy-Makogon","description":"CoverArray (aka PHP Collection) - library for convenient and flexible work with arrays in object-oriented representation.","archived":false,"fork":false,"pushed_at":"2025-02-18T02:25:28.000Z","size":158,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-22T12:36:17.694Z","etag":null,"topics":["array-object","array-wrapper","arrayobject","collection","cover-array","php-array","php-array-collection","php-array-cover","php-array-object","php-array-wrapper","php-collection"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Vasiliy-Makogon.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-10-24T14:19:30.000Z","updated_at":"2025-02-18T02:25:31.000Z","dependencies_parsed_at":"2023-10-04T13:48:51.505Z","dependency_job_id":"09acbbb1-5c1b-4c9e-b774-dbf2ecd347f5","html_url":"https://github.com/Vasiliy-Makogon/PHP-Collection","commit_stats":null,"previous_names":["vasiliy-makogon/cover","vasiliy-makogon/php-collection"],"tags_count":7,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Vasiliy-Makogon%2FPHP-Collection","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Vasiliy-Makogon%2FPHP-Collection/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Vasiliy-Makogon%2FPHP-Collection/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Vasiliy-Makogon%2FPHP-Collection/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Vasiliy-Makogon","download_url":"https://codeload.github.com/Vasiliy-Makogon/PHP-Collection/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252903207,"owners_count":21822394,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["array-object","array-wrapper","arrayobject","collection","cover-array","php-array","php-array-collection","php-array-cover","php-array-object","php-array-wrapper","php-collection"],"created_at":"2024-11-25T04:12:41.794Z","updated_at":"2026-03-08T17:35:54.503Z","avatar_url":"https://github.com/Vasiliy-Makogon.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"![Cover Array](docs/logo.jpg)\n\n**Other languages:**\n- [Русская документация](docs/README_ru.md)\n- [Documentation française](docs/README_fr.md)\n- [Deutsche Dokumentation](docs/README_de.md)\n- [Documentazione italiana](docs/README_it.md)\n- [日本語ドキュメント](docs/README_jp.md)\n- [Documentación en español](docs/README_es.md)\n- [한국어 문서](docs/README_kr.md)\n- [简体中文文档](docs/README_cn.md)\n- [繁體中文文件](docs/README_tw.md)\n- [Dokumentasi Bahasa Indonesia](docs/README_id.md)\n- [Documentação em Português (BR)](docs/README_br.md)\n- [हिंदी दस्तावेज़](docs/README_hi.md)\n- [التوثيق بالعربية](docs/README_ar.md)\n- [Türkçe Dokümantasyon](docs/README_tr.md)\n- [Tài liệu tiếng Việt](docs/README_vi.md)\n\n---\n\n## State\n### Test Status\n| PHP Version | Status                                                                                                                                                                               |\n|-------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| 8.0         | [![PHP 8.0](https://github.com/Vasiliy-Makogon/PHP-Collection/actions/workflows/php80.yml/badge.svg)](https://github.com/Vasiliy-Makogon/PHP-Collection/actions/workflows/php80.yml) |\n| 8.1         | [![PHP 8.1](https://github.com/Vasiliy-Makogon/PHP-Collection/actions/workflows/php81.yml/badge.svg)](https://github.com/Vasiliy-Makogon/PHP-Collection/actions/workflows/php81.yml) |\n| 8.2         | [![PHP 8.2](https://github.com/Vasiliy-Makogon/PHP-Collection/actions/workflows/php82.yml/badge.svg)](https://github.com/Vasiliy-Makogon/PHP-Collection/actions/workflows/php82.yml) |\n| 8.3         | [![PHP 8.3](https://github.com/Vasiliy-Makogon/PHP-Collection/actions/workflows/php83.yml/badge.svg)](https://github.com/Vasiliy-Makogon/PHP-Collection/actions/workflows/php83.yml) |\n| 8.4         | [![PHP 8.4](https://github.com/Vasiliy-Makogon/PHP-Collection/actions/workflows/php84.yml/badge.svg)](https://github.com/Vasiliy-Makogon/PHP-Collection/actions/workflows/php84.yml) |\n| 8.5         | [![PHP 8.5](https://github.com/Vasiliy-Makogon/PHP-Collection/actions/workflows/php85.yml/badge.svg)](https://github.com/Vasiliy-Makogon/PHP-Collection/actions/workflows/php85.yml) |\n\n### Code Coverage\n[![codecov](https://codecov.io/gh/Vasiliy-Makogon/PHP-Collection/branch/master/graph/badge.svg)](https://codecov.io/gh/Vasiliy-Makogon/PHP-Collection)\n\n## Requirements\nPHP \u003e= 8.0\n\n## Installation\n```\ncomposer require krugozor/cover\n```\n\n# CoverArray: Object-Oriented Array Wrapper for PHP (PHP Collection)\nCreated by human, verified and tested by artificial intelligence. Release 2026\n\n## Why CoverArray Was Created\n\nIn modern PHP development, we often work with arrays as the primary data structure. However, PHP's native array functions have several limitations that CoverArray solves.\n\n### The Problem with Native PHP Arrays\n\n- **Inconsistent function naming**: Some functions use underscores (`array_map`), others don't (`usort`)\n- **Mixed parameter orders**: Functions like `array_map($callback, $array)` vs `array_filter($array, $callback)`\n- **No method chaining**: Native functions return new arrays, requiring intermediate variables\n- **Limited type safety**: No IDE autocompletion or static analysis support\n- **Verbose syntax**: Complex operations require nested function calls\n\n### What CoverArray Solves\n\nCoverArray provides a clean, object-oriented interface that wraps PHP arrays while maintaining full compatibility with native functions:\n\n```php\n// Data: users with age and status\n// Task: get names of active users over 18, sorted by descending score\n$users = [\n    ['name' =\u003e 'Alice', 'age' =\u003e 25, 'active' =\u003e true, 'score' =\u003e 85],\n    ['name' =\u003e 'Bob', 'age' =\u003e 17, 'active' =\u003e false, 'score' =\u003e 45],\n    ['name' =\u003e 'Charlie', 'age' =\u003e 32, 'active' =\u003e true, 'score' =\u003e 92],\n    ['name' =\u003e 'Diana', 'age' =\u003e 19, 'active' =\u003e true, 'score' =\u003e 78],\n    ['name' =\u003e 'Eve', 'age' =\u003e 22, 'active' =\u003e false, 'score' =\u003e 61],\n];\n```\n\n#### Before (Native PHP):\n```php\n$filtered = array_filter($users, fn($u) =\u003e $u['active'] \u0026\u0026 $u['age'] \u003e= 18);\n$sorted = usort($filtered, fn($a, $b) =\u003e $b['score'] \u003c=\u003e $a['score']) ? $filtered : [];\n$names = array_column($sorted, 'name');\n$result = implode(', ', $names); // Charlie, Alice, Diana\n```\n#### After (CoverArray):\n```php\n// EVERYTHING IN ONE LINE!\n$result = CoverArray::fromArray($users)\n    -\u003efilter(fn($u) =\u003e $u-\u003eactive \u0026\u0026 $u-\u003eage \u003e= 18)\n    -\u003eusort(fn($a, $b) =\u003e $b-\u003escore \u003c=\u003e $a-\u003escore)\n    -\u003evalues()\n    -\u003ecolumn('name')\n    -\u003eimplode(', '); // Charlie, Alice, Diana\n```\n### Key Benefits\n* **No External Dependencies:** Pure PHP implementation, no additional packages required\n* **Consistent API:** All methods follow `$array-\u003emethod($arguments)` pattern\n* **Method Chaining:** Chain multiple operations in a readable way\n* **IDE Support:** Full autocompletion and type hints\n* **Modern Syntax:** Designed for PHP 8.0+ with strict typing\n* **Dot Notation:** Easy nested data access with `$array-\u003eget('user.profile.name')`\n* **JSON Support:** Built-in serialization/deserialization\n* **Immutable Operations:** Most methods return new instances, preserving original data\n* **Full Compatibility:** Works seamlessly with existing array-based code\n\n### Real-World Use Cases\n\n#### Example 1: Configuration Management with Dot Notation\n```php\n// Load and access nested configuration safely\n$config = CoverArray::fromJson(file_get_contents('config.json'));\n\n// Direct nested access with default fallbacks\n$dbHost = $config-\u003eget('database.connections.mysql.host', fn($value) =\u003e $value ?? 'localhost');\n$dbPort = $config-\u003eget('database.connections.mysql.port', fn($value) =\u003e $value ?? 3306);\n\n// Access with callback for complex defaults\n$apiKeys = $config-\u003eget('services.payment.keys', function($keys) {\n    return $keys ?? CoverArray::fromArray([\n        'public' =\u003e 'default_public_key',\n        'secret' =\u003e 'default_secret_key'\n    ]);\n});\n```\n\n#### Example 2: API Response Processing Pipeline\n```php\n// Real-world API processing: filter, transform, and extract data\n$apiResponse = CoverArray::fromJson($httpResponse)\n    -\u003eget('data.users', function (mixed $users): CoverArray {\n        if ($users === null) {\n            return new CoverArray();\n        }\n\n        /** @var CoverArray $users */\n        return $users\n            -\u003efilter(fn($u) =\u003e $u['active'] == '1' \u0026\u0026 $u['email_verified'])\n            -\u003emap(fn($u) =\u003e [\n                'id' =\u003e $u['id'],\n                'name' =\u003e $u['first_name'] . ' ' . $u['last_name'],\n                'email' =\u003e strtolower($u['email']),\n                'role' =\u003e $u['role'] ?? 'user'\n            ])\n            -\u003eusort(fn($a, $b) =\u003e $a['name'] \u003c=\u003e $b['name']);\n    });\n\n// Extract specific columns for dropdown\n$userOptions = $apiResponse-\u003ecolumn('name', 'id')-\u003egetDataAsArray();\n```\n\n#### Example 3: Log Analysis and Error Reporting\n```php\n// Parse application logs and extract error patterns\n$logLines = CoverArray::fromExplode(\"\\n\", file_get_contents('app.log'))\n    -\u003efilter(fn($line) =\u003e !empty(trim($line)));\n\n// Extract and categorize errors\n$errors = $logLines\n    -\u003efilter(fn($line) =\u003e str_contains($line, 'ERROR'))\n    -\u003emap(function($line) {\n        preg_match('/\\[(.*?)\\].*ERROR:\\s*(\\w+)\\s*-\\s*(.*)/', $line, $matches);\n        return [\n            'timestamp' =\u003e $matches[1] ?? 'Unknown',\n            'type' =\u003e $matches[2] ?? 'General',\n            'message' =\u003e $matches[3] ?? $line\n        ];\n    });\n\n// Group by error type and count occurrences\n$errorStats = $errors\n    -\u003ecolumn('type')\n    -\u003ecountValues()\n    -\u003earsort(); // Sort by frequency\n\n// Generate error report\n$report = \"Error Report:\\n\";\nforeach ($errorStats as $type =\u003e $count) {\n    $report .= \"- {$type}: {$count} occurrences\\n\";\n}\n\n// Find most recent critical error\n$lastCritical = $errors\n    -\u003efilter(fn($e) =\u003e $e['type'] === 'Critical')\n    -\u003elast();\n```\n\nCoverArray bridges the gap between PHP's powerful array functions and modern object-oriented practices, making array manipulation more expressive, maintainable, and enjoyable.\n\n## Comparison Table: CoverArray Methods vs PHP Array Functions\n\n\u003ctable\u003e\u003cthead\u003e\u003ctr\u003e\u003cth\u003e\u003cspan\u003e#\u003c/span\u003e\u003c/th\u003e\u003cth\u003e\u003cspan\u003ePHP Function\u003c/span\u003e\u003c/th\u003e\u003cth\u003e\u003cspan\u003eCoverArray Method\u003c/span\u003e\u003c/th\u003e\u003cth\u003e\u003cspan\u003eStatus\u003c/span\u003e\u003c/th\u003e\u003cth\u003e\u003cspan\u003eNotes\u003c/span\u003e\u003c/th\u003e\u003c/tr\u003e\u003c/thead\u003e\u003ctbody\u003e\u003ctr\u003e\u003ctd\u003e\u003cspan\u003e1\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003earray_all\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003eall()\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003e✅\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003eImplemented with polyfill for older PHP versions\u003c/span\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003cspan\u003e2\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003earray_any\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003eany()\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003e✅\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003eImplemented with polyfill for older PHP versions\u003c/span\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003cspan\u003e3\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003earray_change_key_case\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003echangeKeyCase()\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003e✅\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003eFull implementation\u003c/span\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003cspan\u003e4\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003earray_chunk\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003echunk()\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003e✅\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003eFull implementation\u003c/span\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003cspan\u003e5\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003earray_column\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003ecolumn()\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003e✅\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003eFull implementation\u003c/span\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003cspan\u003e6\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003earray_combine\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003ecombine()\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003e✅\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003eFull implementation (static method)\u003c/span\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003cspan\u003e7\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003earray_count_values\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003ecountValues()\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003e✅\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003eFull implementation\u003c/span\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003cspan\u003e8\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003earray_diff\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003ediff()\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003e✅\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003eFull implementation\u003c/span\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003cspan\u003e9\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003earray_diff_assoc\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003ediffAssoc()\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003e✅\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003eFull implementation\u003c/span\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003cspan\u003e10\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003earray_diff_key\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003ediffKey()\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003e✅\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003eFull implementation\u003c/span\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003cspan\u003e11\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003earray_diff_uassoc\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003ediffUassoc()\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003e✅\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003eFull implementation\u003c/span\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003cspan\u003e12\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003earray_diff_ukey\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003ediffUkey()\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003e✅\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003eFull implementation\u003c/span\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003cspan\u003e13\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003earray_fill\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003efill()\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003e✅\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003eFull implementation (static method)\u003c/span\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003cspan\u003e14\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003earray_fill_keys\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003efillKeys()\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003e✅\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003eFull implementation (static method)\u003c/span\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003cspan\u003e15\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003earray_filter\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003efilter()\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003e✅\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003eFull implementation\u003c/span\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003cspan\u003e16\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003earray_find\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003efind()\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003e✅\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003eImplemented with polyfill for older PHP versions\u003c/span\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003cspan\u003e17\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003earray_find_key\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003efindKey()\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003e✅\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003eImplemented with polyfill for older PHP versions\u003c/span\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003cspan\u003e18\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003earray_first\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003efirst()\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003e✅\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003eImplemented with polyfill for older PHP versions\u003c/span\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003cspan\u003e19\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003earray_flip\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003eflip()\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003e✅\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003eFull implementation\u003c/span\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003cspan\u003e20\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003earray_intersect\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003eintersect()\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003e✅\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003eFull implementation\u003c/span\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003cspan\u003e21\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003earray_intersect_assoc\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003eintersectAssoc()\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003e✅\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003eFull implementation\u003c/span\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003cspan\u003e22\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003earray_intersect_key\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003eintersectKey()\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003e✅\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003eFull implementation\u003c/span\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003cspan\u003e23\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003earray_intersect_uassoc\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003eintersectUassoc()\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003e✅\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003eFull implementation\u003c/span\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003cspan\u003e24\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003earray_intersect_ukey\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003eintersectUkey()\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003e✅\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003eFull implementation\u003c/span\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003cspan\u003e25\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003earray_is_list\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003eisList()\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003e✅\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003eImplemented with polyfill for older PHP versions\u003c/span\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003cspan\u003e26\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003earray_key_exists\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003ekeyExists()\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003e✅\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003eFull implementation\u003c/span\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003cspan\u003e27\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003earray_key_first\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003ekeyFirst()\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003e✅\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003eUses built-in function\u003c/span\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003cspan\u003e28\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003earray_key_last\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003ekeyLast()\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003e✅\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003eUses built-in function\u003c/span\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003cspan\u003e29\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003earray_keys\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003ekeys()\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003e✅\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003eFull implementation\u003c/span\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003cspan\u003e30\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003earray_last\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003elast()\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003e✅\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003eImplemented with polyfill for older PHP versions\u003c/span\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003cspan\u003e31\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003earray_map\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003emap()\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003e✅\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003eFull implementation\u003c/span\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003cspan\u003e32\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003earray_merge\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003emerge()\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003e✅\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003eFull implementation\u003c/span\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003cspan\u003e33\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003earray_merge_recursive\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003emergeRecursive()\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003e✅\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003eFull implementation\u003c/span\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003cspan\u003e34\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003earray_multisort\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003emultisort()\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003e✅\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003eFull implementation (mutating)\u003c/span\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003cspan\u003e35\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003earray_pad\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003epad()\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003e✅\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003eFull implementation\u003c/span\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003cspan\u003e36\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003earray_pop\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003epop()\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003e✅\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003eFull implementation (mutating)\u003c/span\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003cspan\u003e37\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003earray_product\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003eproduct()\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003e✅\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003eFull implementation\u003c/span\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003cspan\u003e38\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003earray_push\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003epush()\u003c/code\u003e\u003cspan\u003e / \u003c/span\u003e\u003ccode\u003eappend()\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003e✅\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003eFull implementation (mutating)\u003c/span\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003cspan\u003e39\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003earray_rand\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003erand()\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003e✅\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003eFull implementation\u003c/span\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003cspan\u003e40\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003earray_reduce\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003ereduce()\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003e✅\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003eFull implementation\u003c/span\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003cspan\u003e41\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003earray_replace\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003ereplace()\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003e✅\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003eFull implementation\u003c/span\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003cspan\u003e42\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003earray_replace_recursive\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003ereplaceRecursive()\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003e✅\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003eFull implementation\u003c/span\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003cspan\u003e43\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003earray_reverse\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003ereverse()\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003e✅\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003eFull implementation\u003c/span\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003cspan\u003e44\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003earray_search\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003esearch()\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003e✅\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003eFull implementation\u003c/span\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003cspan\u003e45\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003earray_shift\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003eshift()\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003e✅\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003eFull implementation (mutating)\u003c/span\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003cspan\u003e46\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003earray_slice\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003eslice()\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003e✅\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003eFull implementation\u003c/span\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003cspan\u003e47\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003earray_splice\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003esplice()\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003e✅\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003eFull implementation (mutating)\u003c/span\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003cspan\u003e48\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003earray_sum\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003esum()\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003e✅\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003eFull implementation\u003c/span\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003cspan\u003e49\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003earray_udiff\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003eudiff()\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003e✅\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003eFull implementation\u003c/span\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003cspan\u003e50\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003earray_udiff_assoc\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003eudiffAssoc()\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003e✅\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003eFull implementation\u003c/span\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003cspan\u003e51\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003earray_udiff_uassoc\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003eudiffUassoc()\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003e✅\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003eFull implementation\u003c/span\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003cspan\u003e52\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003earray_uintersect\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003euintersect()\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003e✅\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003eFull implementation\u003c/span\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003cspan\u003e53\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003earray_uintersect_assoc\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003euintersectAssoc()\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003e✅\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003eFull implementation\u003c/span\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003cspan\u003e54\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003earray_uintersect_uassoc\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003euintersectUassoc()\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003e✅\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003eFull implementation\u003c/span\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003cspan\u003e55\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003earray_unique\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003eunique()\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003e✅\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003eFull implementation\u003c/span\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003cspan\u003e56\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003earray_unshift\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003eunshift()\u003c/code\u003e\u003cspan\u003e / \u003c/span\u003e\u003ccode\u003eprepend()\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003e✅\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003eFull implementation (mutating)\u003c/span\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003cspan\u003e57\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003earray_values\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003evalues()\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003e✅\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003eFull implementation\u003c/span\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003cspan\u003e58\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003earray_walk\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003ewalk()\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003e✅\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003eFull implementation (mutating)\u003c/span\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003cspan\u003e59\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003earray_walk_recursive\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003ewalkRecursive()\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003e✅\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003eFull implementation (mutating)\u003c/span\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003cspan\u003e60\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003earsort\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003earsort()\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003e✅\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003eFull implementation (mutating)\u003c/span\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003cspan\u003e61\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003easort\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003easort()\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003e✅\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003eFull implementation (mutating)\u003c/span\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003cspan\u003e62\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003ecompact\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003ecompact()\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003e⚠️\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003eNot implementable (PHP scope limitations). Use: \u003ccode\u003eCoverArray::fromArray(compact(...))\u003c/code\u003e\u003c/span\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003cspan\u003e63\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003ecount\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003ecount()\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003e✅\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003eImplementation of Countable interface\u003c/span\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003cspan\u003e64\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003ecurrent\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003ecurrent()\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003e✅\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003eFull implementation\u003c/span\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003cspan\u003e65\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003eend\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003eend()\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003e✅\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003eFull implementation (mutating)\u003c/span\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003cspan\u003e66\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003eextract\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003eextract()\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003e✅\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003eFull implementation\u003c/span\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003cspan\u003e67\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003ein_array\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003ein()\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003e✅\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003eFull implementation\u003c/span\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003cspan\u003e68\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003ekey\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003ekey()\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003e✅\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003eFull implementation\u003c/span\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003cspan\u003e69\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003ekey_exists\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003ekeyExists()\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003e✅\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003eFull implementation (same as array_key_exists)\u003c/span\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003cspan\u003e70\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003ekrsort\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003ekrsort()\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003e✅\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003eFull implementation (mutating)\u003c/span\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003cspan\u003e71\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003eksort\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003eksort()\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003e✅\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003eFull implementation (mutating)\u003c/span\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003cspan\u003e72\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003elist\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003elist()\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003e⚠️\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003eNot implementable (language construct). Use: \u003ccode\u003elist($a, $b) = $cover-\u003egetDataAsArray()\u003c/code\u003e\u003c/span\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003cspan\u003e73\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003enatcasesort\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003enatcasesort()\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003e✅\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003eFull implementation (mutating)\u003c/span\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003cspan\u003e74\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003enatsort\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003enatsort()\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003e✅\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003eFull implementation (mutating)\u003c/span\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003cspan\u003e75\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003enext\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003enext()\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003e✅\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003eFull implementation (mutating)\u003c/span\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003cspan\u003e76\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003epos\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003epos()\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003e✅\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003eAlias of \u003ccode\u003ecurrent()\u003c/code\u003e\u003c/span\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003cspan\u003e77\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003eprev\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003eprev()\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003e✅\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003eFull implementation (mutating)\u003c/span\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003cspan\u003e78\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003erange\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003erange()\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003e✅\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003eFull implementation (static method)\u003c/span\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003cspan\u003e79\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003ereset\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003ereset()\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003e✅\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003eFull implementation (mutating)\u003c/span\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003cspan\u003e80\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003ersort\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003ersort()\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003e✅\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003eFull implementation (mutating)\u003c/span\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003cspan\u003e81\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003eshuffle\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003eshuffle()\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003e✅\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003eFull implementation (mutating)\u003c/span\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003cspan\u003e82\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003esort\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003esort()\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003e✅\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003eFull implementation (mutating)\u003c/span\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003cspan\u003e83\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003euasort\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003euasort()\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003e✅\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003eFull implementation (mutating)\u003c/span\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003cspan\u003e84\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003euksort\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003euksort()\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003e✅\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003eFull implementation (mutating)\u003c/span\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003cspan\u003e85\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003eusort\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode\u003eusort()\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003e✅\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003eFull implementation (mutating)\u003c/span\u003e\u003c/td\u003e\u003c/tr\u003e\u003c/tbody\u003e\u003c/table\u003e\n\n### Additional CoverArray Methods\n\n\u003ctable\u003e\u003cthead\u003e\u003ctr\u003e\u003cth\u003e\u003cspan\u003eMethod\u003c/span\u003e\u003c/th\u003e\u003cth\u003e\u003cspan\u003ePurpose\u003c/span\u003e\u003c/th\u003e\u003cth\u003e\u003cspan\u003eAccess\u003c/span\u003e\u003c/th\u003e\u003c/tr\u003e\u003c/thead\u003e\u003ctbody\u003e\u003ctr\u003e\u003ctd\u003e\u003ccode\u003e__clone()\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003eCreates a shallow copy with deep cloning of immediate object properties\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003eMagic\u003c/span\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003ccode\u003e__get()\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003eGets a property value using object property syntax\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003eMagic\u003c/span\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003ccode\u003e__isset()\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003eChecks if a property is set\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003eMagic\u003c/span\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003ccode\u003e__serialize()\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003eSerializes the object for serialization\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003eMagic\u003c/span\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003ccode\u003e__set()\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003eSets a property value using object property syntax\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003eMagic\u003c/span\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003ccode\u003e__toString()\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003eReturns a string representation of the object\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003eMagic\u003c/span\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003ccode\u003e__unserialize()\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003eUnserializes the object from serialized data\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003eMagic\u003c/span\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003ccode\u003e__unset()\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003eUnsets a property\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003eMagic\u003c/span\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003ccode\u003eclear()\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003eClears all data\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003ePublic\u003c/span\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003ccode\u003ecopy()\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003eCreates and returns a copy of the current object instance\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003ePublic\u003c/span\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003ccode\u003eeach()\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003eApplies a callback to each element and returns a new instance with preserved keys (immutable, non-recursive)\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003ePublic\u003c/span\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003ccode\u003eeachRecursive()\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003eRecursively applies a callback to each element and returns a new instance (immutable, recursive)\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003ePublic\u003c/span\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003ccode\u003efromArray()\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003eCreates a CoverArray from a native PHP array\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003ePublic Static\u003c/span\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003ccode\u003efromExplode()\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003eCreates a CoverArray from a string using explode()\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003ePublic Static\u003c/span\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003ccode\u003efromJson()\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003eCreates a CoverArray instance from a JSON string\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003ePublic Static\u003c/span\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003ccode\u003eget()\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003eReturns data by keys of the current object using dot notation\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003ePublic\u003c/span\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003ccode\u003egetData()\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003eReturns the internal data array as-is without any conversion\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003ePublic\u003c/span\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003ccode\u003egetDataAsArray()\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003eReturns the current object's data as a native PHP array\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003ePublic\u003c/span\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003ccode\u003egetIterator()\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003eReturns an iterator for the array (IteratorAggregate interface)\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003ePublic\u003c/span\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003ccode\u003eimplode()\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003eJoins array elements with a string\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003ePublic\u003c/span\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003ccode\u003eisEmpty()\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003eChecks if the array is empty\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003ePublic\u003c/span\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003ccode\u003eitem()\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003eReturns the collection element with the given index as the result\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003ePublic\u003c/span\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003ccode\u003ejsonSerialize()\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003eSpecifies data which should be serialized to JSON (JsonSerializable interface)\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003ePublic\u003c/span\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003ccode\u003eoffsetExists()\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003eChecks whether the specified offset exists in the array (ArrayAccess interface)\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003ePublic\u003c/span\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003ccode\u003eoffsetGet()\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003eReturns the value at the specified offset (ArrayAccess interface)\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003ePublic\u003c/span\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003ccode\u003eoffsetSet()\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003eSets the value at the specified offset (ArrayAccess interface)\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003ePublic\u003c/span\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003ccode\u003eoffsetUnset()\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003eUnsets the value at the specified offset (ArrayAccess interface)\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003ePublic\u003c/span\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003ccode\u003esetData()\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003eSets the internal data for the CoverArray\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003ePublic\u003c/span\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003ccode\u003etoJson()\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003eConverts the CoverArray to a JSON string\u003c/span\u003e\u003c/td\u003e\u003ctd\u003e\u003cspan\u003ePublic\u003c/span\u003e\u003c/td\u003e\u003c/tr\u003e\u003c/tbody\u003e\u003c/table\u003e","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvasiliy-makogon%2Fphp-collection","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvasiliy-makogon%2Fphp-collection","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvasiliy-makogon%2Fphp-collection/lists"}