{"id":15041783,"url":"https://github.com/petrgrishin/array-access","last_synced_at":"2025-04-10T01:23:19.250Z","repository":{"id":16533281,"uuid":"19286574","full_name":"petrgrishin/array-access","owner":"petrgrishin","description":"PHP multi array access","archived":false,"fork":false,"pushed_at":"2016-03-29T08:58:16.000Z","size":27,"stargazers_count":23,"open_issues_count":0,"forks_count":1,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-03-24T03:04:35.573Z","etag":null,"topics":["array","array-map","changing","php","yii","yii2"],"latest_commit_sha":null,"homepage":"https://github.com/petrgrishin/array-access","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/petrgrishin.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}},"created_at":"2014-04-29T18:10:26.000Z","updated_at":"2021-06-20T20:40:49.000Z","dependencies_parsed_at":"2022-09-22T14:41:22.186Z","dependency_job_id":null,"html_url":"https://github.com/petrgrishin/array-access","commit_stats":null,"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/petrgrishin%2Farray-access","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/petrgrishin%2Farray-access/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/petrgrishin%2Farray-access/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/petrgrishin%2Farray-access/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/petrgrishin","download_url":"https://codeload.github.com/petrgrishin/array-access/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248138577,"owners_count":21053878,"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","array-map","changing","php","yii","yii2"],"created_at":"2024-09-24T20:46:28.466Z","updated_at":"2025-04-10T01:23:19.228Z","avatar_url":"https://github.com/petrgrishin.png","language":"PHP","readme":"array-access\n============\n[![Travis CI](https://travis-ci.org/petrgrishin/array-access.png \"Travis CI\")](https://travis-ci.org/petrgrishin/array-access)\n[![Coverage Status](https://coveralls.io/repos/petrgrishin/array-access/badge.png?branch=master)](https://coveralls.io/r/petrgrishin/array-access?branch=master)\n[![Latest Stable Version](https://poser.pugx.org/petrgrishin/array-access/v/stable.svg)](https://packagist.org/packages/petrgrishin/array-access)\n[![Total Downloads](https://poser.pugx.org/petrgrishin/array-access/downloads.svg)](https://packagist.org/packages/petrgrishin/array-access)\n[![License](https://poser.pugx.org/petrgrishin/array-access/license.svg)](https://packagist.org/packages/petrgrishin/array-access)\n\nPHP multi array access\n\nInstallation\n------------\nAdd a dependency to your project's composer.json file if you use [Composer](http://getcomposer.org/) to manage the dependencies of your project:\n```json\n{\n    \"require\": {\n        \"petrgrishin/array-access\": \"~2.0\"\n    }\n}\n```\n\nUsage examples\n--------------\n#### Basic usage array-access objects\n```php\nuse \\PetrGrishin\\ArrayAccess\\ArrayAccess;\n\n$arrayParams = array(\n    'a' =\u003e array(\n        'b' =\u003e 10,\n    )\n);\n$params = ArrayAccess::create($arrayParams);\n$value = $params-\u003egetValue('a.b');\n$params\n    -\u003esetValue('a.b', 20)\n    -\u003esetValue('a.c', 30);\n$params-\u003eremove('a.b');\n$resultArrayParams = $params-\u003egetArray();\n// array(\n//     'a' =\u003e array(\n//         'c' =\u003e 30,\n//     )\n// )\n```\n\n#### Use ArrayMap\n```php\n$arrayAccess = ArrayAccess::create($array);\n$arrayAccess-\u003egetMap()\n    -\u003efilter($callback)\n    -\u003emap($callback)\n    -\u003euserSortByValue($callback)\n    -\u003euserSortByKey($callback)\n    -\u003emergeWith($array)\n    -\u003ereplaceWith($array);\n$resultArrayParams = $arrayAccess-\u003egetArray();\n```\nExample of usage ArrayMap class — https://github.com/petrgrishin/array-map\n\n#### Example of usage in Yii2 behavior\nhttps://github.com/petrgrishin/yii2-array-field\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpetrgrishin%2Farray-access","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpetrgrishin%2Farray-access","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpetrgrishin%2Farray-access/lists"}