我需要使用点表示法从数组中获取一个值。例如:
$arr = [
'first' => [
'second' => [
'third' => 'hello'
]
]
];
$value = array_dot($arr, 'first.second.third'); // returns "hello"
所以我需要做的是检查它是否是一个有效的字符串,通过它我们可以从数组中获取一个值。
限制条件:
情况:
`value.inside.array` valid
`val-2.of.array` valid
`.var2.in.arr` invalid
`dot.notation.` invalid
`value. dot` invalid
`consecutive....dots` invalid
尝试这个:
^[^.\s]\S*\.\S*[^.\s]$
说明:
^[^.\s] Start with any non-dot and non-white character
\S* Any non space characters
\. Force at least one dot
\S* Any non space characters
[^.\s]$ End with any non-dot and non-white character
演示在这里。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句