Skip to content

Instantly share code, notes, and snippets.

@dlh01
Created February 1, 2023 03:00
Show Gist options
  • Save dlh01/072ac41e433352cca18e90650ddc97af to your computer and use it in GitHub Desktop.
Save dlh01/072ac41e433352cca18e90650ddc97af to your computer and use it in GitHub Desktop.
traverse/reshape example
<?php
$arr = [
'apples' => [
'red' => [
'gala',
'mcintosh',
],
'green' => [
'granny_smith',
],
],
];
$obj = (object) [
'apples' => (object) [
'red' => [
'gala',
'mcintosh',
],
'green' => [
'granny_smith',
],
],
];
$green = \Alley\traverse($arr, 'apples.green');
// ['granny_smith']
$red = \Alley\traverse($obj, 'apples.red');
// ['gala', 'mcintosh']
[$red, $green] = \Alley\traverse($obj, ['apples.red', 'apples.green']);
// ['gala', 'mcintosh'], ['granny_smith']
$sweet = \Alley\traverse($arr, 'apples.green.sweet');
// NULL
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment