首頁 後端開發 php教程 《PHP编程最快明白》第二讲 数字、浮点、布尔型、字符串和数组_PHP教程

《PHP编程最快明白》第二讲 数字、浮点、布尔型、字符串和数组_PHP教程

Jul 21, 2016 pm 03:34 PM
字串 數位 陣列 浮點 類型

数字、浮点、布尔型是值类型,英文:int、float、bool,这样你知道他们怎么用了。

比如语句:$fa=3.14;

字符串和数组是引用类型,也就是说他们作为地址放在栈里,当重新赋值时,栈里的地址改变方向,原来的指向变没或给回收了,英文:string、array。

比如:$str=”字符串”;$arr=array(“a”=>”数”,”b”=>”组”);// array()是一个数组赋值函数,这样的函数PHP有一千多个,一般常用的不到200个,我觉得。

字符串操作:

实例2:字符串合并、相加

复制代码 代码如下:

$str = 1;
echo $str .= ""; //数字转化为字符串再合并,结果:"1"。
echo "
";
echo $str += "1元"; //字符串转化为数字再相加,如"1XXX"转化为数字1,结果: 2。
echo "
";
?>

实例3:字符串改变大小写
复制代码 代码如下:

$str="12345ABc";
echo strtolower($str);//变小写,结果:"12345abc"。
echo "
";
echo strtoupper($str);//变小写,结果:"12345ABC"。
echo "
";
?>

实例4:字符串长度、截取子字符串(中英文)
复制代码 代码如下:

$str = "字符串2";
echo mb_strlen($str, "UTF-8"); //返回字符串长度的函数,第二个参数是编码,由于页面用UTF-8编码,所以为这样。如果省去,返回内存占用的字节数(ASCII),即10。结果4
echo "
";
echo mb_substr($str, 1, 2, "UTF-8"); //返回字符截取,1为从”符”地址开始截取,2为截取2个"UTF-8"编码的字符,结果:“符串”。
echo "
";
/**
* 知识点:现在开始接触函数了,每个函数都有()作为堆栈调用,()里面放0个或多个参数,可以自定义可以有默认值。而关键字比如echo是没有()的。
* 很多书用GB2312编码,取长度和子串时很麻烦。下面给大家参考一下不用上面的mb中文字符串扩展库实现原理:
*/
function my_mb_strlen($str, $code = "UTF-8") // 定义一个新函数,$str是必须传入的参数。
{$num= 0;
if ($code == "UTF-8")
{
$str = iconv("UTF-8", "GB2312", $str); //转化为GB2312编码,ord函数返回对应的ASCII值判断每个字节该中文字符是否结束。
for($i = 0;$i {
if (ord($str[$i]) > 0xa0)$i++; //$str[$i]对应内存的i字节。如果直接用UTF-8判断会复杂些,因为编码的多样性UTF-8是网页常用编码,UTF-16(Unicode)是windows编码。
$num++;
}
}
else
{
$num = "编码未实现";
} //有兴趣的自己查资料吧
return $num;
}
echo my_mb_strlen($str) . ";" . my_mb_strlen($str, "GB2312") . "
"; //该页编码用UTF-8,你却说传入的字符串3是GB2312,就算函数实现了也无法正确的。
?>

实例5:子字符串查找、替换

复制代码 代码如下:

$str = "字符串4";
echo mb_strpos($str, '串4', 0, "UTF-8"); //查找从0开始找到的第一个子字符串位置,结果:2。如果查找不到,返回空(="");如果最后两个参数不要,返回6。
echo "
";
echo mb_strstr($str, '串', 0, "UTF-8"); //截取从0开始找到的第一个子字符串至结尾,结果:"串4"。如果查找不到,返回空(="");如果最后两个参数不要,返回相同=strstr($str,'串')。
echo "
";
echo str_replace("4", "不是4", $str) ; //字符串替换,结果: "字符串不是4"。
echo "
";
?>

实例6:子字符串去空、html转义
复制代码 代码如下:

$str=" 字符串5 ";
echo $str=trim($str);//去除两边空格,结果:"字符串5"。
echo "
";
echo "color=\"red\"";//\手工转义里面的'、"、\,使之存储到内存,结果"color="red""
echo "
";
$str="
123";
echo htmlentities($str) ; //字符串转义&'"避免和html标识冲突,使之能在html浏览器端显示出来,结果:"<br>123"。
echo "
";
?>

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/322481.htmlTechArticle数字、浮点、布尔型是值类型,英文:int、float、bool,这样你知道他们怎么用了。 比如语句:$fa=3.14; 字符串和数组是引用类型,也就是说他...
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1658
14
CakePHP 教程
1415
52
Laravel 教程
1309
25
PHP教程
1257
29
C# 教程
1231
24
PHP數組深度複製的藝術:使用不同方法完美複製 PHP數組深度複製的藝術:使用不同方法完美複製 May 01, 2024 pm 12:30 PM

PHP中深度複製數組的方法包括:使用json_decode和json_encode進行JSON編碼和解碼。使用array_map和clone進行深度複製鍵和值的副本。使用serialize和unserialize進行序列化和反序列化。

PHP 陣列鍵值翻轉:不同方法的效能比較分析 PHP 陣列鍵值翻轉:不同方法的效能比較分析 May 03, 2024 pm 09:03 PM

PHP數組鍵值翻轉方法效能比較顯示:array_flip()函數在大型數組(超過100萬個元素)下比for迴圈效能更優,耗時更短。手動翻轉鍵值的for迴圈方法耗時相對較長。

PHP 數組分組函數在資料整理的應用 PHP 數組分組函數在資料整理的應用 May 04, 2024 pm 01:03 PM

PHP的array_group_by函數可依鍵或閉包函數將陣列中的元素分組,傳回關聯數組,其中鍵為組名,值是屬於該組的元素數組。

深度複製PHP數組的最佳實踐:探索高效的方法 深度複製PHP數組的最佳實踐:探索高效的方法 Apr 30, 2024 pm 03:42 PM

在PHP中執行陣列深度複製的最佳實踐是:使用json_decode(json_encode($arr))將陣列轉換為JSON字串,然後再轉換回陣列。使用unserialize(serialize($arr))將陣列序列化為字串,然後將其反序列化為新陣列。使用RecursiveIteratorIterator迭代器對多維數組進行遞歸遍歷。

PHP 陣列分組函數在尋找重複元素中的作用 PHP 陣列分組函數在尋找重複元素中的作用 May 05, 2024 am 09:21 AM

PHP的array_group()函數可用來按指定鍵對陣列進行分組,以尋找重複元素。函數透過以下步驟運作:使用key_callback指定分組鍵。可選地使用value_callback確定分組值。對分組元素進行計數並識別重複項。因此,array_group()函數對於尋找和處理重複元素非常有用。

真我 GT Neo6 定檔 5 月 9 日!機圈首場 AI 數位人發表會 真我 GT Neo6 定檔 5 月 9 日!機圈首場 AI 數位人發表會 May 08, 2024 pm 12:49 PM

5月7日,我手機廠商正式宣布,本公司GTNeo6發表會定檔5月9日。我GTNoe6被定位為"性能風暴",旨在攪動中端機風雲。除此之外,該發表會也將是手機圈首場AI數位人發表會。屆時,真我realme副總裁、全球行銷總裁、中國區總裁徐起將以數位人的形式出現在發表會上。數位人徐起根據官方介紹,真我GTNoe6代號為"颶風",更快更強,將挑戰最強第三代驍龍8s旗艦,挑戰同檔最強產品力。日前,真我GTNeo6被發現直接在電商平台上架,部分核心配置曝光,顯示該機不僅搭載了驍龍8s處理器,還支援120W閃充

數組可以當函數參數嗎? 數組可以當函數參數嗎? Jun 04, 2024 pm 04:30 PM

是的,在許多程式語言中,數組可以作為函數參數,函數將對其中儲存的資料執行操作。例如C++中的printArray函數可以列印數組中的元素,而Python中的printArray函數可以遍歷數組並列印其元素。這些函數對陣列所做的修改也會反映在呼叫函數中的原始數組中。

PHP 中如何根據數組鍵名長度進行排序,保留鍵名? PHP 中如何根據數組鍵名長度進行排序,保留鍵名? May 02, 2024 pm 01:03 PM

透過uksort()函數和自訂比較函數compareKeyLengths,可以根據陣列鍵名長度對PHP陣列進行排序,同時保留鍵名。比較函數計算鍵名長度差並傳回一個整數,uksort()根據該整數排序數組。此外,實戰案例示範如何對來自資料庫的記錄按欄位名稱長度排序。

See all articles