// Имеется
$keys = ['my', 'name', 'is', 'Rafael'];
$value = 'value';
// Нужно
$result = [
'my' => [
'name' => [
'is' => [
'Rafael' => 'value',
]
]
]
];
$result = array_reduce( array_reverse( $keys ), function ( $c, $i ) use ( $value ) {
return [ $i => ( is_null( $c ) ? $value : $c ) ];
} );
print_r( $result );
// или по-модному, если слоник не древний
$result = array_reduce( array_reverse( $keys ), fn( $c, $i ) => [ $i => $c ?? $value ] );
print_r( $result );
https://3v4l.org/tLFqe