《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作的文本留言本的例子(四)
Oct 09 PHP
在PHP中执行系统外部命令
Oct 09 PHP
PHP中“简单工厂模式”实例代码讲解
Sep 04 PHP
PHP GD库生成图像的几个函数总结
Nov 19 PHP
PHP使用header()输出图片缓存实例
Dec 09 PHP
php获取访问者IP地址汇总
Apr 24 PHP
PHP使用数组依次替换字符串中匹配项
Jan 08 PHP
PHP实现的简单分页类及用法示例
May 06 PHP
php getcwd与dirname(__FILE__)区别详解
Sep 24 PHP
php UNIX时间戳用法详解
Feb 16 PHP
PHP+jQuery实现滚屏无刷新动态加载数据功能详解
May 04 PHP
PHP网站常见安全漏洞,及相应防范措施总结
Mar 01 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
PHPWind与Discuz截取字符函数substrs与cutstr性能比较
2011/12/05 PHP
php页面跳转代码 输入网址跳转到你定义的页面
2013/03/28 PHP
浅析Yii2 GridView实现下拉搜索教程
2016/04/22 PHP
基于JQuery框架的AJAX实例代码
2009/11/03 Javascript
jQuery实现动画效果的实例代码
2013/05/07 Javascript
自定义的一个简单时尚js下拉选择框
2013/11/20 Javascript
使用cluster 将自己的Node服务器扩展为多线程服务器
2014/11/10 Javascript
javascript实现类似超链接的效果
2014/12/26 Javascript
javascript比较两个日期的先后示例代码
2014/12/31 Javascript
Javascript简单改变表单元素背景的方法
2015/07/15 Javascript
jquery-tips悬浮提示插件分享
2015/07/31 Javascript
Javascript函数式编程简单介绍
2015/10/11 Javascript
深入理解bootstrap框架之入门准备
2016/10/09 Javascript
在 Angular2 中实现自定义校验指令(确认密码)的方法
2017/01/23 Javascript
jQuery鼠标悬停内容动画切换效果
2017/04/27 jQuery
ionic2懒加载配置详解
2017/09/01 Javascript
详解vue 组件之间使用eventbus传值
2017/10/25 Javascript
详解mpvue开发微信小程序基础知识
2019/09/23 Javascript
如何通过JS实现转码与解码
2020/02/21 Javascript
Django ORM框架的定时任务如何使用详解
2017/10/19 Python
Python3 无重复字符的最长子串的实现
2019/10/08 Python
Python2与Python3的区别点整理
2019/12/12 Python
Pytorch之contiguous的用法
2019/12/31 Python
vue常用指令代码实例总结
2020/03/16 Python
Python3爬虫里关于Splash负载均衡配置详解
2020/07/10 Python
借助HTML5 Canvas来绘制三角形和矩形等多边形的方法
2016/03/14 HTML / CSS
Canvas globalCompositeOperation
2018/12/18 HTML / CSS
初中校园之声广播稿
2014/01/15 职场文书
市场专员岗位职责
2014/02/14 职场文书
项目施工员岗位职责
2014/03/09 职场文书
教师考核材料
2014/05/21 职场文书
四风问题个人对照检查材料
2014/09/26 职场文书
师德标兵事迹材料
2014/12/19 职场文书
捐助倡议书
2015/01/19 职场文书
导游词之湖北武当山
2019/09/23 职场文书
在redisCluster中模糊获取key方式
2021/07/09 Redis