Laravel 将输入名称数组转换为点表示法

red*_*tie 3 php laravel

如何将输入名称数组转换为点表示法,类似于验证器处理键的方式?我希望它也适用于非数组。

例如,假设我有:

$input_name_1 = 'city';
$input_name_2 = 'locations[address][distance]';
Run Code Online (Sandbox Code Playgroud)

我如何将其转换为:

$input_dot_1 = 'city';
$input_dot_2 = 'locations.address.distance';
Run Code Online (Sandbox Code Playgroud)

ben*_*ull 5

如果我们只是谈论转换字符串表示形式,例如按如下方式转换字符串......

  • 'foo[1]'->'foo.1'
  • 'foo[bar]'->'foo.bar'
  • 'foo[bar][baz]'->'foo.bar.baz'

下面的代码就可以很好地完成...

$string = str_replace('[', '.', $string); // Replace [ with .
$string = str_replace(']', '', $string); // Remove ]
Run Code Online (Sandbox Code Playgroud)

注意:我无论如何都找不到使用现有 Laravel 类/方法在 Laravel 框架内实现此目的 - 但很想知道是否有办法。