我的字符串需要像这样转换,
'hello world' = 'helloWorld'
反之亦然,
'helloWorld' = 'hello world'
到目前为止,我对转换的所有内容都是第一个,
$str = 'hello world';
$str = lcfirst(str_replace(' ', '', ucwords($str))); // helloWorld
第二,
$str = 'helloWorld';
$str = preg_split('/(?=[A-Z])/', $str);
$str = strtolower(implode(' ', $str)); // hello world
这不能更容易实现或更有效吗?
答案 0 :(得分:1)
你的camelize代码已经很好了。对于第二个,你可以放弃分裂和内爆:
$str = 'helloWorld';
$str = strtolower(preg_replace('/(?<=\\w)([A-Z])/', ' \\1', $str));
echo $str;
// output: hello world