《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写的小东西
Dec 06 PHP
php中使用$_REQUEST需要注意的一个问题
May 02 PHP
php实现基于微信公众平台开发SDK(demo)扩展的方法
Dec 22 PHP
php实现的微信红包算法分析(非官方)
Sep 25 PHP
yii2中添加验证码的实现方法
Jan 09 PHP
win10环境PHP 7 安装配置【教程】
May 09 PHP
php基于闭包实现函数的自调用(递归)实例分析
Nov 11 PHP
如何打开php的gd2库
Feb 09 PHP
PHP编译configure时常见错误的总结
Aug 17 PHP
Thinkphp3.2简单解决多文件上传只上传一张的问题
Sep 26 PHP
PHP基于imagick扩展实现合成图片的两种方法【附imagick扩展下载】
Nov 14 PHP
对php 判断http还是https,以及获得当前url的方法详解
Jan 15 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 模拟$_PUT实现代码
2010/03/15 PHP
php代码审计比较有意思的例子
2014/05/07 PHP
CodeIgniter记录错误日志的方法全面总结
2016/05/17 PHP
PHP安装GeoIP扩展根据IP获取地理位置及计算距离的方法
2016/07/01 PHP
php实现多站点共用session实现单点登录的方法详解
2019/09/18 PHP
javaScript同意等待代码实现心得
2011/01/01 Javascript
ANT 压缩(去掉空格/注释)JS文件可提高js运行速度
2013/04/15 Javascript
jquery获取tagName再进行判断
2014/05/29 Javascript
jQuery源码分析之jQuery中的循环技巧详解
2014/09/06 Javascript
js 右侧浮动层效果实现代码(跟随滚动)
2015/11/22 Javascript
javascript实现一个网页加载进度loading
2017/01/04 Javascript
vue组件实例解析
2017/01/10 Javascript
详谈Ajax请求中的async:false/true的作用(ajax 在外部调用问题)
2017/02/10 Javascript
Bootstrap的popover(弹出框)在append后弹不出(失效)
2017/02/27 Javascript
AngularJS之ionic 框架下实现 Localstorage本地存储
2017/04/22 Javascript
VUE 更好的 ajax 上传处理 axios.js实现代码
2017/05/10 Javascript
JavaScript变量声明var,let.const及区别浅析
2018/04/23 Javascript
Vue实现自定义下拉菜单功能
2018/07/16 Javascript
对angular4子路由&amp;辅助路由详解
2018/10/09 Javascript
微信小程序实现锚点功能
2019/11/20 Javascript
vue-axios同时请求多个接口 等所有接口全部加载完成再处理操作
2020/11/09 Javascript
Python实现类继承实例
2014/07/04 Python
Windows下安装python2.7及科学计算套装
2015/03/05 Python
通过Python来使用七牛云存储的方法详解
2015/08/07 Python
ubuntu安装sublime3并配置python3环境的方法
2018/03/15 Python
Python基于Tkinter模块实现的弹球小游戏
2018/12/27 Python
对python 合并 累加两个dict的实例详解
2019/01/21 Python
15行Python代码实现网易云热门歌单实例教程
2019/03/10 Python
PyTorch搭建一维线性回归模型(二)
2019/05/22 Python
python和js交互调用的方法
2020/06/23 Python
Python使用tkinter实现小时钟效果
2021/02/22 Python
美国首屈一指的高品质珠宝设计师和零售商:Allurez
2018/01/23 全球购物
2015毕业生实习期工作总结
2015/04/09 职场文书
2016个人先进事迹材料范文
2016/03/01 职场文书
创业计划书之奶茶店开店方案范本!
2019/08/06 职场文书
Python列表的索引与切片
2022/04/07 Python