《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 相关文章推荐
在WIN98下以apache模块方式安装php
Oct 09 PHP
php 分页函数multi() discuz
Jun 21 PHP
PHP基础学习之流程控制的实现分析
Apr 28 PHP
php实现图片上传时添加文字和图片水印技巧
Apr 18 PHP
php日期操作技巧小结
Jun 25 PHP
php接口技术实例详解
Dec 07 PHP
PHP生成图片验证码功能示例
Jan 12 PHP
Yii2框架中使用PHPExcel导出Excel文件的示例
Aug 09 PHP
PHP 结合 Boostrap 结合 js 实现学生列表删除编辑及搜索功能
May 21 PHP
PHP的静态方法与普通方法用法实例分析
Sep 26 PHP
php使用自带dom扩展进行元素匹配的原理解析
May 29 PHP
基于php+MySql实现学生信息管理系统实例
Aug 04 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 采集程序中常用的函数
2009/12/09 PHP
thinkphp区间查询、统计查询与SQL直接查询实例分析
2014/11/24 PHP
2014最热门的24个php类库汇总
2014/12/18 PHP
WordPress主题制作中自定义头部的相关PHP函数解析
2016/01/08 PHP
DOM精简教程
2006/10/03 Javascript
JS getStyle获取最终样式函数代码
2010/04/01 Javascript
StringTemplate遇见jQuery冲突的解决方法
2011/09/22 Javascript
js 使FORM表单的所有元素不可编辑的示例代码
2013/10/17 Javascript
jQuery使用hide方法隐藏指定元素class样式用法实例
2015/03/30 Javascript
JavaScript使用Prototype实现面向对象的方法
2015/04/14 Javascript
js类式继承与原型式继承详解
2016/04/07 Javascript
详解Vuejs2.0之异步跨域请求
2017/04/20 Javascript
js实现移动端编辑添加地址【模仿京东】
2017/04/28 Javascript
原生JS与jQuery编写简单选项卡
2017/10/30 jQuery
webpack vue 项目打包生成的文件,资源文件报404问题的修复方法(总结篇)
2018/01/09 Javascript
[01:38]完美世界高校联赛决赛花絮
2018/12/02 DOTA
python开发之str.format()用法实例分析
2016/02/22 Python
Python 文件处理注意事项总结
2017/04/10 Python
Python实现螺旋矩阵的填充算法示例
2017/12/28 Python
python  创建一个保留重复值的列表的补码
2018/10/15 Python
基于sklearn实现Bagging算法(python)
2019/07/11 Python
详解Python是如何实现issubclass的
2019/07/24 Python
python程序 创建多线程过程详解
2019/09/23 Python
django-利用session机制实现唯一登录的例子
2020/03/16 Python
IDLE下Python文件编辑和运行操作
2020/04/25 Python
Python实现自动整理文件的脚本
2020/12/17 Python
香港No.1得奖零食网:香港零食大王
2016/07/22 全球购物
马来西亚最大的电器网站:Senheng
2017/10/13 全球购物
BIBLOO波兰:捷克的一家在线服装店
2018/03/09 全球购物
锐步英国官网:Reebok英国
2019/11/29 全球购物
英语三分钟演讲稿
2014/08/19 职场文书
布达拉宫的导游词
2015/02/02 职场文书
个人售房合同协议书
2016/03/21 职场文书
CSS3鼠标悬浮过渡缩放效果
2021/04/17 HTML / CSS
Django程序的优化技巧
2021/04/29 Python
详解Python生成器和基于生成器的协程
2021/06/03 Python