当前位置:首页 » 编程语言 » php大小写转换函数

php大小写转换函数

发布时间: 2022-07-19 13:57:02

① 如何让thinkphp在获取数据库字段信息时区分数据库字段大小写

解决办法:
就是修改thinkphp的源码中的Library/Db/Driver.class.php文件,把
PDO::ATTR_CASE => PDO::CASE_LOWER 改为 PDO::ATTR_CASE => PDO::CASE_NATURAL,
或者在配置文件里面增加
DB_PARAMS’ => array(\PDO::ATTR_CASE => \PDO::CASE_NATURAL) 这一句。
第一次使用的时候这种解决方法果然可以,但是做另外一个项目的时候却始终不生效,无奈,网络了半天,找到一个方法,因为thinkphp执行的时候默认会把大写转换成小写,所以我们找到它的源码不让它转换就行。
修改Common/functions.php里面的parse_name函数源码为:

function parse_name($name, $type=0) {
/* if ($type) {
return ucfirst(preg_replace_callback('/_([a-zA-Z])/', function($match){return strtoupper($match[1]);}, $name));
} else {
//这里会将数据库表名里的大写转换为 _小写,修改成不转换
return strtolower(trim(preg_replace("/[A-Z]/", "_\\0", $name), "_"));
}*/
return $name;
}
其中注释掉的是原来的,未注释是新增的。
修改Library/Think/Model.class.php里面的getTableName函数:

//$this->trueTableName = strtolower($tableName); //这里会将表名转换成小写,修改成不转换
$this->trueTableName = $tableName;
修改其中一句,这样就可以解决数据库字段名大写的问题。

② PHP数组的几个操作,求并集,交集,差集,数组

PHP数组的几个操作,求并集,交集,差集,数组与字符串的相互转换及数组去重
在php中如果我想要对两个数组进行如并集、交集和差集操作,我们可直接使用php自带的函数来操作如array_merge(),array_intersect(),array_diff().
计算数组的合并 array_merge与“+”的区别
array_merge() 函数把两个或多个数组合并为一个数组。
如果键名有重复,该键的键值为最后一个键名对应的值(后面的覆盖前面的),如果数组是数字索引的,则键名会以连续方式重新索引。
注释:如果仅仅向 array_merge() 函数输入了一个数组,且键名是整数,则该函数将返回带有整数键名的新数组,其键名以 0 开始进行重新索引.代码如下:
$a = array(1 => 'a', 'b', 'c');
$b = array(1 => 'aa', 2, 'c');
$union = array_merge($a, $b);
$plus = $a + $b;
print_r($union);
print_r($plus);
//结果依次为:
Array
{
[0]=> a
[1]=> b
[2]=> c
[3]=> aa
[4]=> 2
[5]=> c
}
Array
(
[1] => a
[2] => b
[3] => c
)
要合并的两个数组中有相同的字符串键的时候,使用array_merge()会覆盖掉原来的值,而使用“+”合并数组则会和用“+”号合并数组相同数字键一样把最先出现的值作为最终结果返回,如下例:
$a2 = array('str' => 'a', 'b', 'c');
$b2 = array('str' => 'aa', 2, 'c');
$union2 = array_merge($a2, $b2);
$plus2 = $a2 + $b2;
print_r($union2);
print_r($plus2);
//结果依次为:
Array
(
[str] => aa
[0] => b
[1] => c
[2] => 2
[3] => c
)
Array
(
[str] => a
[0] => b
[1] => c
)
注:如果想用array_merge合并两个数组,返回结果可能还会有相同的元素,这时候可以用array_unique()把相同的元素去掉
计算数组的交集
array_intersect() 函数返回两个或多个数组的交集数组,结果数组包含了所有在被比较数组中,也同时出现在所有其他参数数组中的值,键名保留不变,注释:仅有值用于比较,代码如下:
$a = array('jpg','png','gif','bmp');
$b = array('JPG','txt','docx','bmp');
$intersection = array_intersect($a, $b);
还可以通过函数,获取自己想要的(比如元素不区分大小写),代码如下:
$intersection2 = array_intersect(array_map('strtolower',$a), array_map('strtolower',$b));
print_r($intersection);
print_r($intersection2);
//结果依次为:
Array
(
[3] => bmp
)
Array (
[0] => jpg
[3] => bmp
)
计算数组的差集,代码如下:
$old = array('jpg','png','gif','bmp');
$new = array('JPG','txt','docx','bmp');
$difference = array_diff($old, $new);
注:返回结果的元素包含$old的元素,不包括$new的元素
print_r($difference);
结果为:
Array
(
[0] => jpg
[1] => png
[2] => gif
)
也可以用函数先进行处理,再计算差集
array_diff() 函数返回两个数组的差集数组。该数组包括了所有在被比较的数组中,但是不在任何其他参数数组中的键值,在返回的数组中,键名保持不变。
语法:array_diff(array1,array2,array3...)
代码如下:
$difference = array_diff(array_map('strtolower',$old),
array_map('strtolower',$new));
数组转换为字符串:
<?php
$arr = array('Hello','World!','I','love','Shanghai!');
echo implode(" ",$arr);
?>
字符串转换为数组:
<?php
$str="1432532 ,4444";
$arr = explode(",",$str);
echo count($arr)."</br>";

print_r($arr);
?>
数组元素值去重
<?php
$a=array("a"=>"red","b"=>"green","c"=>"red");
print_r(
array_unique($a)
);
?>
针对有空格的字符串转换成无空格的字符串
<?php
$str="1432532 ,67878";
$arr = explode(",",$str);
//echo count($arr)."</br>";

$str_u='';

for($i=0;$i<count($arr);$i++)
{

$str_u .=trim($arr[$i]).',';

}
echo $str_u;
?>

③ php中addslashes函数与sql防注入

本文实例讲述了php中addslashes函数与sql防注入。分享给大家供大家参考。具体分析如下:
addslashes可会自动给单引号,双引号增加\\\\\\,这样我们就可以安全的把数据存入数据库中而不黑客利用,参数'a..z'界定所有大小写字母均被转义,代码如下:
复制代码
代码如下:echo
addcslashes('foo[
]','a..z');
//输出:foo[
]
$str="is
your
name
o'reilly?";
//定义字符串,其中包括需要转义的字符
echo
addslashes($str);
//输出经过转义的字符串
定义和用法:addslashes()
函数在指定的预定义字符前添加反斜杠.
这些预定义字符是:单引号
('),双引号
("),反斜杠
(),null
语法:addslashes(string),当然这个函数更安全,实例代码如下:
复制代码
代码如下:$str="<a
href='test'>test</a>";
//定义包含特殊字符的字符串
$new=htmlspecialchars($str,ent_quotes);
//进行转换操作
echo
$new;
//输出转换结果
//不过输出时要用到
$str="jane
&
'tarzan'";
//定义html字符串
echo
html_entity_decode($str);
//输出转换后的内容
echo
"<br/>";
echo
html_entity_decode($str,ent_quotes);
//有可选参数输出的内容
希望本文所述对大家的PHP程序设计有所帮助。

④ PHP 数字大小写转换

先把他赋给一个数组,然后用array_flip之类的数组操作函数,取值,可以取索引也可以取数据
<?php
$a=array('1'=>'一','2'=>'二');
print_r($a);
$b=array_flip($a);
print_r($b);

foreach($a as $b1=>$key){
echo $key;echo '<br>';
}
?>

关键是自己把对应关系写到一个数组,就可以随便操作了

⑤ Js和Php的区别是什么

1、两者的核心功能不一样:

php中的核心功能是用函数方式实现,例如取得一个字符串的长度:$length = strlen(str);

而js是用对象的方法实现,例如取得一个字符串的长度:var length = str.length。

2、变量传值方式不一样:

js中,变量的传值传递和传址传递是根据传递的对象的类型决定的,不能自己随心控制;

而php中所有类型都可以自由控制其传值是传值还是传址,在变量前加上&就可以变成传址方式,不加&就是传值方式。

3、两者基本特点不一样:

php是一种通用开源脚本语言。语法吸收了C语言、Java和Perl的特点,利于学习,使用广泛,主要适用于Web开发领域。

js是一种属于网络的脚本语言,已经被广泛用于Web应用开发,常用来为网页添加各式各样的动态功能,为用户提供更流畅美观的浏览效果。通常JavaScript脚本是通过嵌入在HTML中来实现自身的功能的。

⑥ php空间把我害苦了,地址区分大小写,如何解决

那在每个头部文件引用下js,用js获得链接地址,转换成小写的
大概思路是这个,自己写代码完善,

记得apache中可以写htaccess中也可以转换大小改规则
RewriteEngine On
#RewriteBase /
RewriteRule ^*.*$ [NC]//不区分大小写

js代码随便写的未测试
<body onload=getlink();>

function getlink()
{
links= document.getElementByTagsname('a').href;
//action= document.getElementByTagsname('form').action;
if(links)
{
for(var i=0;i<links.length;i++)
{
document.getElementByTagsname('a').href[i]=document.getElementByTagsname('a').href[i].toLowerCase() ;//转换成小写
}
}
}

⑦ php 获取字符串某字符的位置!

有以下几种方法:

stripos() 返回字符串在另一字符串中第一次出现的位置(大小写不敏感)

stristr() 查找字符串在另一字符串中第一次出现的位置(大小写不敏感)

strpos() 返回字符串在另一字符串中首次出现的位置(对大小写敏感)

strrchr() 查找字符串在另一个字符串中最后一次出现的位置。

strripos() 查找字符串在另一字符串中最后出现的位置(对大小写不敏感)

strrpos() 查找字符串在另一字符串中最后出现的位置(对大小写敏感)

(7)php大小写转换函数扩展阅读:

PHP常用函数:

strtoupper()函数把字符串转换为大写

strtolower()函数把字符串转换为小写

strtok()函数把字符串分割为更小的字符串

strstr()函数搜索一个字符串在另一个字符串中的第一次出现

strspn()函数返回在字符串中包含的特定字符的数目

strrpos()函数查找字符串在另一个字符串中最后一次出现的位置

strripos()函数查找字符串在另一个字符串中最后一次出现的位置

⑧ PHP怎么实现大小写转换

php内置有大小写转换函数。
strtolower 将字符串转换为小写
strtoupper 将字符串转换为大写

热点内容
sqlserver重命名 发布:2025-02-01 04:56:24 浏览:428
iisftp被动模式 发布:2025-02-01 04:41:50 浏览:350
车载安卓怎么安装软件 发布:2025-02-01 04:30:50 浏览:469
安卓系统su程序是什么 发布:2025-02-01 04:25:42 浏览:475
android代码行数统计 发布:2025-02-01 04:20:47 浏览:216
快速喊话脚本 发布:2025-02-01 04:16:48 浏览:885
如何分辨普拉多的配置 发布:2025-02-01 04:11:45 浏览:681
linuxc文件删除 发布:2025-02-01 04:11:33 浏览:218
c语言稀疏矩阵转置矩阵 发布:2025-02-01 03:47:57 浏览:531
坦克世界挂机脚本有哪些 发布:2025-02-01 03:07:41 浏览:134