當前位置:首頁 » 編程語言 » php獲取長度

php獲取長度

發布時間: 2023-01-16 03:29:26

A. php如何獲取中文字元長度,一個中文字元算一個

在PHP中專門的mb_substr和mb_strlen函數,可以對中文進行截取和計算長度,但是,由於這些函數並非PHP的核心函數,所以,它們常常有可能沒有開啟。要在php.ini中開啟即可。獲取長度實例:1 ,utf-8環境下使用

header('Content-type:text/html;charset=utf-8');
/**
*可以統計中文字元串長度的函數
*@param$str要計算長度的字元串
*@param$type計算長度類型,0(默認)表示一個中文算一個字元,1表示一個中文算兩個字元
*
*/
functionabslength($str)
{
if(empty($str)){
return0;
}
if(function_exists('mb_strlen')){
returnmb_strlen($str,'utf-8');
}
else{
preg_match_all("/./u",$str,$ar);
returncount($ar[0]);
}
}
$str='我們都是中國人啊,ye!';
$len=abslength($str);
var_mp($len);//return12
$len=abslength($str,'1');
echo'<br/>'.$len;//return22

/*
utf-8編碼下截取中文字元串,參數可以參照substr函數
@param$str要進行截取的字元串
@param$start要進行截取的開始位置,負數為反向截取
@param$end要進行截取的長度
*/
functionutf8_substr($str,$start=0){
if(empty($str)){
returnfalse;
}
if(function_exists('mb_substr')){
if(func_num_args()>=3){
$end=func_get_arg(2);
returnmb_substr($str,$start,$end,'utf-8');
}
else{
mb_internal_encoding("UTF-8");
returnmb_substr($str,$start);
}

}
else{
$null="";
preg_match_all("/./u",$str,$ar);
if(func_num_args()>=3){
$end=func_get_arg(2);
returnjoin($null,array_slice($ar[0],$start,$end));
}
else{
returnjoin($null,array_slice($ar[0],$start));
}
}
}
$str2='wo要截取zhongwen';
echo'<br/>';
echoutf8_substr($str2,0,-4);//returnwo要截取zhon

2,支持gb2312,gbk,utf-8,big5 中文截取方法

/*

* 中文截取,支持gb2312,gbk,utf-8,big5

*

* @param string $str 要截取的字串

* @param int $start 截取起始位置

* @param int $length 截取長度

* @param string $charset utf-8|gb2312|gbk|big5 編碼

* @param $suffix 是否加尾綴

*/

public function csubstr($str, $start=0, $length, $charset="utf-8", $suffix=true)

{

if(function_exists("mb_substr"))

{

if(mb_strlen($str, $charset) <= $length) return $str;

$slice = mb_substr($str, $start, $length, $charset);

}

else

{

$re['utf-8'] = "/[x01-x7f]|[xc2-xdf][x80-xbf]|[xe0-xef][x80-xbf]{2}|[xf0-xff][x80-xbf]{3}/";

$re['gb2312'] = "/[x01-x7f]|[xb0-xf7][xa0-xfe]/";

$re['gbk'] = "/[x01-x7f]|[x81-xfe][x40-xfe]/";

$re['big5'] = "/[x01-x7f]|[x81-xfe]([x40-x7e]|xa1-xfe])/";

preg_match_all($re[$charset], $str, $match);

if(count($match[0]) <= $length) return $str;

$slice = join("",array_slice($match[0], $start, $length));

}

if($suffix) return $slice."…";

return $slice;

}

B. [php教程]怎麼取得數組的長度求大神幫助

php如何獲取數組的長度,使用php函數count(),或是sizeof() $arr = array('A','B','C'); echo count($arr); echo sizeof($arr); 兩函數功能一樣,手冊上講,sizeof()是函數count()的別名。

C. PHP中如何得到數組的長度

如果你想統計數組$arr的長度,也就是說該二維數組只有兩條新聞,你想要的數字也是2,但是如果使用count($arr)不同版本的php,統計的結果是不一樣的;
後來在php手冊中發現,count函數還有第二個參數,解釋如下:
count函數有兩個參數:
0(或COUNT_NORMAL)為默認,不檢測多維數組(數組中的數組);
1(或COUNT_RECURSIVE)為檢測多維數組,
所以如果要判斷讀取的數組$arr是不是有新聞信息,就要這樣寫了:

復制代碼
代碼如下:

<?php
if(is_array($arr) &&
count($arr,COUNT_NORMAL)>0 )
{
.....
} else {

.....
}
?>

D. php,怎麼獲取指定長度的字元串

<?php
echo substr(需要截取字元串, 起止數, 需要截取的長度);
?>
截取字元串只支持英文。如果字元串包含中文。或混排。以及文字 編碼。gb2312 和 utf8 。截取方式就不一樣了。

推薦使用 bugfree 的截取字元串函數
例子:/**
* @package BugFree
* @version $Id: FunctionsMain.inc.php,v 1.32 2005/09/24 11:38:37 wwccss Exp $
*
*
* Return part of a string(Enhance the function substr())
*
* @author Chunsheng Wang <[email protected]>
* @param string $String the string to cut.
* @param int $Length the length of returned string.
* @param booble $Append whether append "...": false|true
* @return string the cutted string.
*/
function sysSubStr($String,$Length,$Append = false)
{
if (strlen($String) < = $Length )
{
return $String;
}
else
{
$I = 0;
while ($I < $Length)
{
$StringTMP = substr($String,$I,1);
if ( ord($StringTMP) >=224 )
{
$StringTMP = substr($String,$I,3);
$I = $I + 3;
}
elseif( ord($StringTMP) >=192 )
{
$StringTMP = substr($String,$I,2);
$I = $I + 2;
}
else
{
$I = $I + 1;
}
$StringLast[] = $StringTMP;
}
$StringLast = implode("",$StringLast);
if($Append)
{
$StringLast .= "...";
}
return $StringLast;
}
}

$String = "CodeBit.cn -- 簡單、精彩、通用";
$Length = "18";
$Append = false;
echo sysSubStr($String,$Length,$Append);
?>

E. php如何獲取字元串長度,中文、符號、英文字母都算作一個

一般情況下 有漢字的時候 是使用 mb_strlen 這個函數來計算字元長度
這個函數需要開啟 mb_string擴展 默認都是不開啟的

F. php 怎樣獲取二維數組長度

//例子
$arr=array();
$arr[0]=array(0=>'a',1=>'b');
$arr[1]=array(0=>'c',1=>'d');
//第一種方法
foreach($arras$v){
echocount($v);//獲取二維數組長度
}
//第二種方法
echocount($arr[0]);

count() 函數計算數組中的單元數目或對象中的屬性個數。

語法:

count(array,mode)
參數:

array:必需。規定要計數的數組或對象。

mode:可選。規定函數的模式。可能的值:0 - 默認。不檢測多維數組(數組中的數組)。1 - 檢測多維數組。

G. php 怎樣獲取二維數組長度

$arr=[
[1,2,3,4,5],
[1,2,3,4,5,6,7,8],
[1,2,3,4,5,6,7]
];

echocount($arr);//3二維數組長度
echocount($arr[0]);//5二維數組子數組長度
echocount($arr[1]);//8二維數組子數組長度

H. PHP怎麼獲取字元串長度

PHP對中文字元串的處理一直困擾於剛剛接觸PHP開發的新手程序員。下面簡要的剖析一下PHP對中文字元串長度的處理:

(1)PHP自帶的函數如strlen()、mb_strlen()都是通過計算字元串所佔位元組數來統計字元串長度的,一個英文字元佔1位元組;

(2)中文則不然,做中文網站一般會選擇兩種編碼:gbk/gb2312或是utf-8。utf-8能兼容更多的字元,所以受到很多站長的喜愛。gbk與utf-8對中文的編碼不同,導致中文在gbk與utf-8編碼下所佔位元組也有差異。



I. PHP中如何得到數組的長度

獲取一維數組:

count()和sizeof() 都可以直接統計一維數組長度。示例如下:

$arr = Array('0','1','2','3','4','5','6','7','8','9'); echo count($arr); // 輸出10

$arr = array('蘋果','香蕉','桔子','西瓜','梨','葡萄'); echo sizeof($arr); // 輸出6

獲取二維數組長度:

count()函數有兩個參數:

count($arr,COUNT_NORMAL);//默認,不檢測多維數組

count($arr,COUNT_RECURSIVE);//檢測多維數組

例子:

$arr = array(

0=>array('name'=>'kong','age'=>'18'),

1=>array('name'=>'liang','age'=>'30')

);

count($arr) = 2;

count($arr,COUNT_RECURSIVE) = 6;

(9)php獲取長度擴展閱讀:

PHP 在資料庫方面的豐富支持,也是它迅速走紅的原因之一,它支持下列的資料庫或是數據文件:

Adabas 、D、 DBA、dBase 、dbm 、filePro 、Informix 、InterBase、mSQL 、Microsoft SQL Server、·MySQL、Solid、Sybase、 Oracle 、PostgreSQL

今時今日,資料庫系統已經成為各個動態網站上 web 應用程序的重要組成部分。由於非常敏感和機密的數據有可能保存在資料庫中,所以對資料庫實施保護就顯得尤為重要了。

要從資料庫中提取或者存入數據,就必須經過連接資料庫、發送一條合法查詢、獲取結果、關閉連接等步驟。目前,能完成這一系列動作的最常用的查詢語言是結構化查詢語言 Structured Query Language (SQL)。可以看看攻擊者是如何篡改 SQL 查詢語句的。

J. php中統計數組的長度是那個函數

您好,你的問題,我之前好像也遇到過,以下是我原來的解決思路和方法,希望能幫助到你,若有錯誤,還望見諒!展開全部
獲取一維數組:
count()和sizeof() 都可以直接統計一維數組長度。示例如下:
$arr = Array('0','1','2','3','4','5','6','7','8','9'); echo count($arr); // 輸出10
$arr = array('蘋果','香蕉','桔子','西瓜','梨','葡萄'); echo sizeof($arr); // 輸出6
獲取二維數組長度:
count()函數有兩個參數:
count($arr,COUNT_NORMAL); //默認,不檢測多維數組
count($arr,COUNT_RECURSIVE); //檢測多維數組
例子:
$arr = array(
0=>array('name'=>'kong','age'=>'18'),
1=>array('name'=>'liang','age'=>'30')
);
count($arr) = 2;
count($arr,COUNT_RECURSIVE) = 6;非常感謝您的耐心觀看,如有幫助請採納,祝生活愉快!謝謝!

熱點內容
linux64位內存 發布:2025-07-16 01:02:36 瀏覽:959
壓縮衣尺碼表 發布:2025-07-16 00:47:33 瀏覽:639
安卓恢復了出廠怎麼找回照片 發布:2025-07-16 00:43:56 瀏覽:932
為什麼說伺服器已停止響應 發布:2025-07-16 00:29:36 瀏覽:391
python判斷字元串是否為空 發布:2025-07-16 00:21:47 瀏覽:210
安卓轉蘋果用什麼軟體 發布:2025-07-16 00:21:45 瀏覽:628
安卓官服如何登ios 發布:2025-07-16 00:21:32 瀏覽:624
天龍搶店腳本 發布:2025-07-16 00:14:47 瀏覽:958
華為榮耀存儲卡 發布:2025-07-16 00:10:40 瀏覽:659
mysql創建utf8資料庫 發布:2025-07-16 00:04:08 瀏覽:105