如何将数组的第一个大写字母值转换为小写


How to convert the first letter capitalized value of an array to lower case

我有一个表单

名称:即形式(名称="detail[名称]")

地址:即形式(name="detail[Address]")

电子邮件:即形式(name="detail[电子邮件]")

我在php中获取了如下数据:

$data=array_map('cwords',$_POST['detail']);

在使用插入查询后,我在数据库中获得了所有首字母大写的值

然后我意识到电子邮件不应该是大写的,所以我想把它转换成小写,同时确保其他值保持不变

我失败了。。。因此,任何有兴趣帮助我的人都是最受欢迎的:D

提前感谢

您可以使用foreach来更改所有发布的值,如

  $detail = $_POST['detail'];
  $arr = array();
  foreach($detail as $key => $value){
       if($key != 'email'){
           $arr[$key] = ucword($value);
        } else {
           $arr[$key] = $value;
        }
  }

现在,您将获得一个新的数组$arr,您可以直接将其存储到数据库中,该数据库没有第一个字母为CAPS 的电子邮件

您可以使用此函数获取小写的第一个字母:

$email = strtolower($email);

为什么要使用ucwords

$data = array_map('ucwords', $_POST['detail']);

这将使$_POST['detail']中的内容为大写。只是不要用它。

卸下array_mapucwords,然后按此操作。

$data =  $_POST['detail'];

Simple:PHP的strtolower函数。

$lower = strtolower($value)

如果您想将整个单词转换为小写,那么只需使用:

$oldString = "Something";
$newString = $strtolower($oldString);

否则,如果你想严格地只转换第一个字母,你可以使用:

$oldString = "SOMETHING";
$newString = $strtolower($substr($oldString, 0, 1)) . $substr($oldString, 1);
$email = strtolower($email);

它非常简单。但你说它是动态的,你能详细说明或粘贴你的代码吗。