當前位置:首頁 » 編程語言 » 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 將字元串轉換為大寫

熱點內容
aspx腳本 發布:2025-02-01 06:44:13 瀏覽:999
訪問策略更新 發布:2025-02-01 06:39:29 瀏覽:498
pythoneditplus 發布:2025-02-01 06:31:57 瀏覽:275
bmp轉png源碼 發布:2025-02-01 06:30:08 瀏覽:470
魔獸聯盟人多的伺服器是什麼 發布:2025-02-01 06:25:25 瀏覽:41
c語言字元串子串刪除 發布:2025-02-01 06:25:23 瀏覽:534
怎麼改電腦鎖屏密碼 發布:2025-02-01 06:16:55 瀏覽:472
存儲卡不能格式化怎麼辦 發布:2025-02-01 06:02:55 瀏覽:691
scratch編程網站 發布:2025-02-01 05:51:27 瀏覽:396
安卓怎麼更好用 發布:2025-02-01 05:45:38 瀏覽:147