crissi / array-key-change
轻松更改任意深度数组中的键
v1.0.0
2019-11-03 17:50 UTC
Requires
- php: >=7.0.0
Requires (Dev)
- phpunit/phpunit: ~7.0|~8.0
This package is auto-updated.
Last update: 2024-09-29 05:28:56 UTC
README
轻松更改任意深度数组中的键
示例
$source = [
'alpha' => [
'bravo' => [
'nested' => [1, 2, 3]
]
],
'whiskey' => [44,45, 45],
'charlie' => [
['foo' => '222'],
['foo' => '44444'],
['foo' => '444'],
[
'foo' => 'text',
'lol' => '3434'
],
],
];
$result = ArrayKeyChange::in($source)
->skipMissingPaths()
->modify([
'alpha.bravo.nested' => 'delta',
'alpha' => 'foxtrot',
'alpha.bravo' => 'echo',
'charlie.*.lol' => 'rofl',
'charlie' => 'omega'
]);
结果
[
'foxtrot' => [
'echo' => [
'delta' => [1, 2, 3]
]
],
'whiskey' => [44,45, 45],
'omega' => [
['foo' => '222'],
['foo' => '44444'],
['foo' => '444'],
[
'foo' => 'text',
'rofl' => '3434'
],
],
];
使用 skipMissingPaths() 以避免在缺失键时出现错误
使用星号运算符 (*) 遍历顺序数组