如何將這種類型的PHP字符串轉換爲駱駝大小寫?Camelize一個PHP字符串
$string = primary-getallgroups-sys
我試過了,但剛剛發現不同的解決方案,用空格字符串。像ucword($字符串),但它只是大寫的第一個字。當我添加連字符( - )的分隔符時,它會給出錯誤。
如何將這種類型的PHP字符串轉換爲駱駝大小寫?Camelize一個PHP字符串
$string = primary-getallgroups-sys
我試過了,但剛剛發現不同的解決方案,用空格字符串。像ucword($字符串),但它只是大寫的第一個字。當我添加連字符( - )的分隔符時,它會給出錯誤。
$string = 'primary-getallgroups-sys';
// split string by '-'
$words = explode('-', $string);
// make a strings first character uppercase
$words = array_map('ucfirst', $words);
// join array elements with '-'
$string = implode('-', $words);
echo $string; // is now Primary-Getallgroups-Sys
Thanku。 Plus是否有任何方法將「getallgroups」轉換爲像「GetAllGroups」這樣的駱駝案例? –
無法將'getallgroups'轉換爲駱駝大小寫。由於代碼無法區分英文單詞。你需要指定它必須破壞的地方。 –
正確@AshishChoudhary –
您可以創建一個函數將這些類型的字符串轉換爲駱駝情況。
試試這個:
<?php
// CONVERT STRING TO CAMEL CASE SEPARATED BY A DELIMITER
function convertToCamel($str, $delim){
$exploded_str = explode($delim, $str);
$exploded_str_camel = array_map('ucwords', $exploded_str);
return implode($delim, $exploded_str_camel);
}
$string = 'primary-getallgroups-sys';
echo convertToCamel($string, '-'); // Answer
?>
其實駱駝情況下更是這樣的:iAmCamelCased
。
而這是大小寫混合的情況:IAmMixedCased
。
@ sundas-mushtaq另請注意,如果連字符用於符號名稱(如函數或變量中),連字符將破壞您的代碼。
要camelize,使用此:
function camelize($word, $delimiter){
$elements = explode($delimiter, $word);
for ($i = 0; $i < count($elements); $i++) {
if (0 == $i) {
$elements[$i] = strtolower($elements[$i]);
} else {
$elements[$i] = strtolower($elements[$i]);
$elements[$i] = ucwords($elements[$i]);
}
}
return implode('', $elements);
}
而對於mixify,使用此:
function mixify($word, $delimiter){
$word = strtolower($word);
$word = ucwords($word, $delimiter);
return str_replace($delimiter, '', $word);
}
顯示您現有的代碼,你會得到錯誤,再加上你想要的輸出爲您的示例字符串 – Steve
我只是想將這個字符串轉換爲一個字符串,如 $ string = Primary-Getallgroups-sys 它只是在將一個分隔符傳遞給它後給出空白頁。 $ string = primary-getallgroups-sys $ string = ucwords($ string); // Primary-getallgroups-sys 如果我使用類似 的分隔符$ string = primary-getallgroups-sys $ string = ucwords($ string,「 - 」); //什麼都不顯示 –