php字元串大小
Ⅰ php文件中,一個字元串最長可以有多長
你說的是php的變數能存多少范圍吧?比如
$str='IamChinese';
一般來說,php不限制變數的長度
你可以打開你的php.ini,裡面有這樣的配置語句:(我用的mssql資料庫,就拿它舉例吧)
; Valid range 0 - 2147483647.Default = 4096.
;mssql.textlimit = 4096
; Valid range 0 - 2147483647.Default = 4096.
;mssql.textsize = 4096
可見php確實對變數大小沒有限制(2G的限制目前確實可以視為不存在),只是在默認的配置下被限制到了4096位元組,亦即2048個漢字。
如果你想增大php的變數最大位元組的話,可以在php.ini中修改以下代碼:
ini_set("mssql.textsize",200000);
ini_set("mssql.textlimit",200000);
Ⅱ php如何對比字元串內容
PHP中,可以用雙等號(==)或 三等號(===)來比較字元串。
二者的區別是:雙等號不比較類型,三等號會比較類型,但不轉換類型;用雙等號進行比較時,如果等號左右兩邊有數字類型的值,剛會把另一個值轉化為數字,然後進行比較。如果是純字元串或者NULL時,會轉化為0進行比較。同樣,大小於號也和等號一樣,比較時可能出現不正確的結果。
綜上所述,比較字元串可以用PHP的自帶函數strcmp和strcasecmp。其中strcasecmp是strcmp的變種,它會先把字元串轉化為小寫再進行比較。 如下代碼:
var_mp(0 == 'Test');
var_mp(0 == '');
var_mp(5 > 'T');
var_mp(strcmp(5, 'T'));
結果為(第1~3結果是不對的,只有第4個是對的)代碼如下:
bool(true)
bool(true)
bool(true)
int(-1)
Ⅲ php字元串大小比較問題,太多的疑問!!請求前輩指路!萬分感謝!
str2.jpg與str10.jpg比較,前三個字母完全一樣,第四個2比1大。
m與M比較,就是比較它們的ASCII碼,m比M大。
一般計算機都是這么比較的。
使用自然排序法更符合人們的習慣
str2與str10相比,2比10小。
m與M比較,還是比較ASCII碼,與上面一樣
Ⅳ php字元串長度如何計算
說明
strlen ( string $string ) : int
返回給定的字元串 string 的長度。
參數
string
需要計算長度的字元串。
返回值
成功則返回字元串 string 的長度;如果 string 為空,則返回 0。
更新日誌
版本 說明
5.3.0 Prior versions treated arrays as the string Array, thus returning a string length of 5 and emitting an E_NOTICE level error.
範例
Example #1 strlen() 範例
Ⅳ 在Php中 字元串的比較'12'為什麼小於'2'
加引號,PHP會認為是字元串,字元串對比的話,會逐個字元對比,'12'中的 1 ,當然小於 '2' 中的 2 了。
Ⅵ php實現比較兩個字元串日期大小的方法
本文實例講述了php實現比較兩個字元串日期大小的方法。分享給大家供大家參考。具體如下:
<?php
function
dateBDate($date1,
$date2)
{
//
日期1是否大於日期2
$month1
=
date("m",
strtotime($date1));
$month2
=
date("m",
strtotime($date2));
$day1
=
date("d",
strtotime($date1));
$day2
=
date("d",
strtotime($date2));
$year1
=
date("Y",
strtotime($date1));
$year2
=
date("Y",
strtotime($date2));
$from
=
mktime(0,
0,
0,
$month1,
$day1,
$year1);
$to
=
mktime(0,
0,
0,
$month2,
$day2,
$year2);
if
($from
>
$to)
{
return
true;
}
else
{
return
false;
}
}
?>
$date1
=
"2009-10-13";
$date=
mktime(0,
0,
0,
date("m",
strtotime($date1)),
date("d",
strtotime($date1)),
date("Y",
strtotime($date1)));
最終取得一個日期的
Unix
時間戳$date=1255392000。
很多時候做搜索的時候,搜索的時間不能大於當前日期,比較函數的寫法大致和上面一個函數相同,具體如下:
function
dateBCurrent($date){
//日期是否大於當前日期
$currentDate=date("Y-m-d");
//獲取當前日期
$cYear=date("Y",strtotime($currentDate));
$cMonth=date("m",strtotime($currentDate));
$cDay=date("d",strtotime($currentDate));
$year=date("Y",strtotime($date));
$month=date("m",strtotime($date));
$day=date("d",strtotime($date));
$currentUnix=mktime(0,0,0,$cMonth,$cDay,$cYear);
//當前日期的
Unix
時間戳
$dateUnix=mktime(0,0,0,$month,$day,$year);
//待比較日期的
Unix
時間戳
if($dateUnix<=$currentUnix){
return
true;
}else{
return
false;
}
}
希望本文所述對大家的php程序設計有所幫助。
Ⅶ php怎樣限制字元的顯示長度
思路:獲取字元串長度,和自己設置的要顯示的長度比較,超出,就截取處理
代碼例子如下:
$str="你好啊阿拉拉拉";
//處理長度不管中英文,都代表1個長度
preg_match_all("/./us",$str,$match);
$str_arr=$match[0];
$length_val=count($str_arr);//字元串長度
$show_str=implode('',$str_arr);//最後要顯示的字元串
//控制的顯示長度
$length_limit=3;
//字元串超出控制長度,顯示處理
if($length_val>$length_limit){
$show_str="";
for($i=0;$i<$length_limit;$i++){
$show_str.=$str_arr[$i];
}
$show_str.="...";//最後以...代表後面字元省略
}
echo$show_str;
Ⅷ php字元串為什麼可以直接比較大小
可能是實驗巧合,用邏輯運算符比較字元串時,會先把字元串轉換成數字,再比較數值。
比如
"10hello"會轉換成整型10
"9.8"會轉換成浮點9.8f
轉換後再進行比較。
比較字元串或位元組數據最好用strcmp之類的字元串函數。
題主是個無腦的豬,選了個錯誤答案
<?php
$a='10';
$b='9.8';
var_mp($a>$b);
var_mp(strcmp($a,$b)>0);
booleantrue
booleanfalse
所有的資料都會告訴你,字元串絕不能用邏輯運算符。
Ⅸ 請教:關於PHP字元串大小對比問題
方法就是將字元串分割,然後用mktime轉換為時間戳
這個二樓說的很清楚了
還有一種簡單點的方法strtotime()
直接將字元串轉換為時間戳
例如:strtotime("2009-10-31 19:14:00");
將輸出1256987640 這樣就可以直接比較
注意,如果與當前時間比較,記得設置下時區,
date_default_timezone_set('PRC');
不然,會有8小時的偏差
Ⅹ php字元串 長度 有限制嗎
沒有明文說做了限制。
這樣一般取決於所在的伺服器。
但貌似有個,2G的限制,這個不小了。