如何将输入名称数组转换为点符号表示法,类似于验证器处理键的方式?我希望它也可以适用于非数组。
例如,假设我有:
$input_name_1 = 'city';
$input_name_2 = 'locations[address][distance]';
我该如何将它转换为:
$input_dot_1 = 'city';
$input_dot_2 = 'locations.address.distance';
如何将输入名称数组转换为点符号表示法,类似于验证器处理键的方式?我希望它也可以适用于非数组。
例如,假设我有:
$input_name_1 = 'city';
$input_name_2 = 'locations[address][distance]';
我该如何将它转换为:
$input_dot_1 = 'city';
$input_dot_2 = 'locations.address.distance';
'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 ]
注意:我在Laravel框架中无法找到使用现有的Laravel类/方法来实现这一点的方法 - 但是如果有方法,我很想知道。
]
并将[
替换为一个点号:
伪代码:
$input_name_2 = 'locations[address][distance]';
$halfway = removeClosingBracket($input_name_2); // locations[address[distance
$result = replaceOpeningBracektWithDot($halfway); // locations.address.distance