有沒有人知道最快的方式在每個方向做轉換?如果你想知道它的速度更快以連字符分隔的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