我有一个表单
名称:即形式(名称="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_map
和ucwords
,然后按此操作。
$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);
它非常简单。但你说它是动态的,你能详细说明或粘贴你的代码吗。