有没有人知道最快的方式在每个方向做转换?如果你想知道它的速度更快以连字符分隔的CamelCase和CamelCase以连字符分隔
$Hstring = 'hello-world';
$CCstring = implode('', array_map('ucwords', explode('-', $Hstring)));
有没有人知道最快的方式在每个方向做转换?如果你想知道它的速度更快以连字符分隔的CamelCase和CamelCase以连字符分隔
$Hstring = 'hello-world';
$CCstring = implode('', array_map('ucwords', explode('-', $Hstring)));
好吧,但很s u,你必须停止编写像这些symfony时尚人士的代码。整个事情可能只是一个具有几个功能的类 – thelolcat 2015-03-25 16:47:49
以这种方式构建包并遵循设计模式有一个很好的理由。 – 2015-03-26 17:43:50
$subject = 'abc-def-xyz';
$results = preg_replace_callback ('/-(.)/', create_function('$matches','return strtoupper($matches[1]);'), $subject);
var_dump($results);
和
$subject = 'abcDefXyz';
$results = preg_replace_callback ('/([A-Z])/', create_function('$matches','return \'-\' . strtolower($matches[1]);'), $subject);
var_dump($results);
编辑
:
目前我使用这对于连字符到驼峰,您需要对其进行配置以确定
秒产生“ -camel-case“从”CamelCase“中删除。 “StringXML”中的“-string-x-m-l”。我建议'/.+([A-Z] +)/'代替。 upvote当修复 – Kaii 2012-02-14 18:18:44
你是否经常在脚本中这么做,速度真的很重要? (喜欢几万次) – 2012-02-14 12:14:25
不是很常见(70-80次),但我想最佳解决方案:) – thelolcat 2012-02-14 12:15:12
最佳解决方案是预先计算解决方案,以便不再有问题 – Flexo 2012-02-14 12:59:10