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


Posted in PHP onNovember 01, 2010

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

比如语句:$fa=3.14;

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

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

字符串操作:

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

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

实例3:字符串改变大小写
<?php 
$str="12345ABc"; 
echo strtolower($str);//变小写,结果:"12345abc"。 
echo "<br>"; 
echo strtoupper($str);//变小写,结果:"12345ABC"。 
echo "<br>"; 
?>

实例4:字符串长度、截取子字符串(中英文)
<?php 
$str = "字符串2"; 
echo mb_strlen($str, "UTF-8"); //返回字符串长度的函数,第二个参数是编码,由于页面用UTF-8编码,所以为这样。如果省去,返回内存占用的字节数(ASCII),即10。结果4 
echo "<br>"; 
echo mb_substr($str, 1, 2, "UTF-8"); //返回字符截取,1为从”符”地址开始截取,2为截取2个"UTF-8"编码的字符,结果:“符串”。 
echo "<br>"; 
/** 
* 知识点:现在开始接触函数了,每个函数都有()作为堆栈调用,()里面放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 < strlen($str);$i++) // 在此strlen($str)返回内存占用的字节数相当于mb_strlen($str) 
{ 
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") . "<br>"; //该页编码用UTF-8,你却说传入的字符串3是GB2312,就算函数实现了也无法正确的。 
?>

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

实例6:子字符串去空、html转义
<?php 
$str=" 字符串5 "; 
echo $str=trim($str);//去除两边空格,结果:"字符串5"。 
echo "<br>"; 
echo "color=\"red\"";//\手工转义里面的'、"、\,使之存储到内存,结果"color="red"" 
echo "<br>"; 
$str="<br>123"; 
echo htmlentities($str) ; //字符串转义<>&'"避免和html标识冲突,使之能在html浏览器端显示出来,结果:"<br>123"。 
echo "<br>"; 
?>
PHP 相关文章推荐
需要使用php模板的朋友必看的很多个顶级PHP模板引擎比较分析
May 26 PHP
MayFish PHP的MVC架构的开发框架
Aug 13 PHP
PHP使用DES进行加密与解密的方法详解
Jun 06 PHP
深入array multisort排序原理的详解
Jun 18 PHP
phpword插件导出word文件时中文乱码问题处理方案
Aug 19 PHP
PHP错误Warning: Cannot modify header information - headers already sent by解决方法
Sep 27 PHP
php实现Linux服务器木马排查及加固功能
Dec 29 PHP
PHP二维数组排序简单实现方法
Feb 14 PHP
PHP编写RESTful接口的方法
Feb 21 PHP
PHP生成随机数的方法总结
Mar 01 PHP
php微信开发之关注事件
Jun 14 PHP
解决PHPstudy Apache无法启动的问题【亲测有效】
Oct 30 PHP
一篇有意思的技术文章php介绍篇
Oct 26 #PHP
理解php原理的opcodes(操作码)
Oct 26 #PHP
PHP下常用正则表达式整理
Oct 26 #PHP
PHP编程最快明白(第一讲 软件环境和准备工作)
Oct 25 #PHP
微盾PHP脚本加密专家php解密算法
Sep 13 #PHP
smarty中先strip_tags过滤html标签后truncate截取文章运用
Oct 25 #PHP
php正则过滤html标签、空格、换行符的代码(附说明)
Oct 25 #PHP
You might like
php实现mysql数据库备份类
2008/03/20 PHP
php 远程图片保存到本地的函数类
2008/12/08 PHP
PHP5中使用PDO连接数据库的方法
2010/08/01 PHP
mac下使用brew配置环境的步骤分享
2011/05/23 PHP
PHP基于单例模式实现的mysql类
2016/01/09 PHP
php微信开发之音乐回复功能
2018/06/14 PHP
一个加密JavaScript的开源工具PACKER2.0.2
2006/11/04 Javascript
JQuery操作tr和td内容的方法实例
2013/03/06 Javascript
SOSO地图JS画出标注和中心点以html形式运行
2013/08/09 Javascript
jquery获取img的src值的简单实例
2016/05/17 Javascript
JavaScript学习小结之使用canvas画“哆啦A梦”时钟
2016/07/24 Javascript
Angular2学习教程之TemplateRef和ViewContainerRef详解
2017/05/25 Javascript
vue实现行列转换的一种方法
2019/08/06 Javascript
js中script的上下放置区别,Dom的增删改创建操作实例分析
2019/12/16 Javascript
uni-app 组件里面获取元素宽高的实现
2019/12/27 Javascript
JavaScript监听一个DOM元素大小变化
2020/04/26 Javascript
在Vue中使用Select选择器拼接label的操作
2020/10/22 Javascript
用Python的Django框架编写从Google Adsense中获得报表的应用
2015/04/17 Python
Python使用poplib模块和smtplib模块收发电子邮件的教程
2016/07/02 Python
详解Golang 与python中的字符串反转
2017/07/21 Python
对Python中range()函数和list的比较
2018/04/19 Python
Python使用Selenium爬取淘宝异步加载的数据方法
2018/12/17 Python
python的set处理二维数组转一维数组的方法示例
2019/05/31 Python
python调用支付宝支付接口流程
2019/08/15 Python
python 的numpy库中的mean()函数用法介绍
2020/03/03 Python
Python sorted排序方法如何实现
2020/03/31 Python
Python实现自动打开电脑应用的示例代码
2020/04/17 Python
极简的HTML5模版
2015/07/09 HTML / CSS
Hammitt官网:设计师手袋
2020/05/23 全球购物
幼儿园教师请假制度
2014/01/16 职场文书
打架检讨书100字
2014/01/19 职场文书
行政助理工作职责范本
2014/03/04 职场文书
幼儿园教师岗位职责
2015/04/02 职场文书
党员进社区活动总结
2015/05/07 职场文书
在Java中Collection的一些常用方法总结
2021/06/13 Java/Android
Python使用mitmproxy工具监控手机 下载手机小视频
2022/04/18 Python