Php 如何将数组的首字母大写值转换为小写
我有一张表格 名称:即形式(Name=“detail[Name]”) 地址:即以(name=“detail[Address]”格式) 电子邮件:即以(name=“detail[Email]”的形式发送 我在php中获取了如下数据: $data=array\u map('ucwords',$\u POST['detail']) 在使用insert查询后,我得到了数据库中所有首字母大写的值 然后我意识到电子邮件不应该使用大写字母,所以我考虑将其转换为小写字母,同时确保其他值保持不变 我失败了。。。因此,任何有兴趣帮助我的人都是最受欢迎的:D 提前感谢简单:PHP的函数Php 如何将数组的首字母大写值转换为小写,php,arrays,database,string,Php,Arrays,Database,String,我有一张表格 名称:即形式(Name=“detail[Name]”) 地址:即以(name=“detail[Address]”格式) 电子邮件:即以(name=“detail[Email]”的形式发送 我在php中获取了如下数据: $data=array\u map('ucwords',$\u POST['detail']) 在使用insert查询后,我得到了数据库中所有首字母大写的值 然后我意识到电子邮件不应该使用大写字母,所以我考虑将其转换为小写字母,同时确保其他值保持不变 我失败了。。。因
$lower=strtolower($value)
您可以使用foreach对所有发布的值进行更改,如
$detail = $_POST['detail'];
$arr = array();
foreach($detail as $key => $value){
if($key != 'email'){
$arr[$key] = ucword($value);
} else {
$arr[$key] = $value;
}
}
现在,您将获得一个新的数组$arr,您可以将其直接存储到没有首字母大写的电子邮件的数据库中您可以使用此功能以小写形式获取首字母:
$email = strtolower($email);
那你为什么要用ucwords呢
$data = array_map('ucwords', $_POST['detail']);
这将使$\u POST['detail']
中的内容以大写形式显示。不要用它
移除array\u映射
和ucwords
,然后像这样做
$data = $_POST['detail'];
它非常简单。但是你说它是动态的。你能详细说明或粘贴你的代码吗。如果你想将整个单词转换成小写,那么只需使用:
$oldString = "Something";
$newString = $strtolower($oldString);
否则,如果要严格转换第一个字母,则可以使用:
$oldString = "SOMETHING";
$newString = $strtolower($substr($oldString, 0, 1)) . $substr($oldString, 1);
你没有明白我。。。。。。谢谢你的回复。。。。。。。我使用的是动态查询,所以不能这样做。。。。。。。strtolower(我想)…电子邮件不是总是在
$data['email']
?@kingkero-没错,我看不出这是动态的。要执行查询,我需要确保所需的数据是数组格式的我希望我可以这样做,但我的查询是动态的,我需要确保它是数组格式的,以便执行查询。它将在任何动态查询中工作,因为每次它只检查电子邮件,而不检查电子邮件然后使用$data['email']=strtolower($data['email'])代码>正如在几个答案中提到的那样。@Stanyer,不,不需要。由于他在array\u map()
@shankar中使用ucwords()
,他的内容变得大写了。我需要系统格式的值,所以我必须使用ucwords@ShankarDamodaran我相信他说他明确希望电子邮件小写,而且用户输入可能并不总是小写?@rt8s这并不意味着你不能使用$data['email']=strtolower($data['email'])代码>
$oldString = "SOMETHING";
$newString = $strtolower($substr($oldString, 0, 1)) . $substr($oldString, 1);