找出字符串中的大写字母替换为“_” + “小写字母”
17-12-11 12:35
字数 287
阅读 3646
已编辑
其实使用正则也可以很容易的实现,但是感觉性能会低些(其实字符串很短的话并没有什么影响)。
/**
* 驼峰转`_`+`小写`
* @example `msgId` => `msg_id`
* @param string $word
* @return string
*/
function camelCase2underScoreCase($word = '')
{
$uc_word = '';
if (!empty($word)) {
$word_arr = str_split($word);
if (!empty($word_arr)) {
foreach ($word_arr as $k) {
if (ord($k) >= 65 && ord($k) <= 90) {
$k = '_' . chr(ord($k) + 32);
}
$uc_word .= $k;
}
}
}
return $uc_word;
}
使用方法
$result = camelCase2underScoreCase('msgId');
var_dump($result);
// 输出 'msg_id'
应用场景
主要是最近工作中使用到了网易云信的消息抄送功能,这厮返回的数据都是这样的
{"fromNick":"saonian","msgType":"TEXT","msgidServer":"8965196916","fromAccount":"16","fromClientType":"WEB","fromDeviceId":"14f2f3f0b3e1e70765dd15f87b708174","eventType":"1","body":"hello world","convType":"PERSON","msgidClient":"3d7192175e8bbe541e93dc1e4bda2c10","resendFlag":"0","msgTimestamp":"1512961795251","to":"98"}
json_decode
转为数组后,要存到数据库不好处理(数据库字段名为_命名),所以写了这个函数。希望对大家有帮助。
2人点赞>
0 条评论
排序方式
时间
投票
快来抢占一楼吧
请登录后发表评论
相关推荐
文章归档
2024-11
1 篇
2024-06
1 篇
2024-05
2 篇
2024-04
2 篇
2024-03
2 篇
展开剩余 68 条
2024-01
1 篇
2023-10
1 篇
2023-09
1 篇
2023-08
1 篇
2023-06
1 篇
2023-04
1 篇
2022-12
2 篇
2022-06
1 篇
2022-04
4 篇
2022-03
3 篇
2022-01
6 篇
2021-12
2 篇
2021-11
2 篇
2021-10
2 篇
2021-09
1 篇
2021-08
2 篇
2021-07
4 篇
2021-06
1 篇
2021-05
3 篇
2021-04
3 篇
2021-01
2 篇
2020-11
1 篇
2020-10
3 篇
2020-09
2 篇
2020-08
1 篇
2020-07
5 篇
2020-06
5 篇
2020-05
1 篇
2020-04
1 篇
2020-03
2 篇
2020-02
3 篇
2020-01
1 篇
2019-11
5 篇
2019-10
10 篇
2019-09
12 篇
2019-08
17 篇
2019-07
8 篇
2019-05
3 篇
2019-04
8 篇
2019-03
7 篇
2019-02
8 篇
2019-01
5 篇
2018-12
7 篇
2018-11
8 篇
2018-10
4 篇
2018-09
7 篇
2018-08
12 篇
2018-07
9 篇
2018-06
6 篇
2018-05
11 篇
2018-04
18 篇
2018-03
1 篇
2018-02
2 篇
2018-01
10 篇
2017-12
14 篇
2017-11
44 篇
2017-10
13 篇
2017-09
4 篇
2017-08
12 篇
2017-07
5 篇
2017-06
4 篇
2017-05
2 篇
2017-04
3 篇
2017-03
9 篇
2017-02
3 篇
2017-01
2 篇
2016-12
10 篇
2016-11
4 篇
最新文章
最受欢迎
11-07 19:00
06-26 11:51
05-17 17:08
05-17 10:59
04-11 17:05
13 评论
11 评论
10 评论