《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之对抗Web扫描器的脚本技巧
Oct 01 PHP
深入理解PHP原理之异常机制
Aug 21 PHP
PHP JSON格式数据交互实例代码详解
Jan 13 PHP
用Json实现PHP与JavaScript间数据交换的方法详解
Jun 20 PHP
Drupal读取Excel并导入数据库实例
Mar 02 PHP
PHP图片处理之使用imagecopyresampled函数实现图片缩放例子
Nov 19 PHP
PHP微信红包API接口
Dec 05 PHP
ThinkPHP框架实现的MySQL数据库备份功能示例
May 24 PHP
php实现对文件压缩简单的方法
Sep 29 PHP
laravel框架数据库配置及操作数据库示例
Oct 10 PHP
php中try catch捕获异常实例详解
Aug 06 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防止sql注入示例分析和几种常见攻击正则表达式
2014/01/12 PHP
ThinkPHP查询返回简单字段数组的方法
2014/08/25 PHP
Laravel接收前端ajax传来的数据的实例代码
2017/07/20 PHP
PHP二维数组实现去除重复项的方法【保留各个键值】
2017/12/21 PHP
Swoole扩展的6种模式深入详解
2021/03/04 PHP
JavaScript 参数中的数组展开 [译]
2012/09/21 Javascript
js取两个数组的交集|差集|并集|补集|去重示例代码
2013/08/07 Javascript
JavaScript中获取高度和宽度函数总结
2014/10/08 Javascript
详谈javascript中的cookie
2015/06/03 Javascript
jQuery表格插件datatables用法汇总
2016/03/29 Javascript
基于React.js实现原生js拖拽效果引发的思考
2016/03/30 Javascript
JS 日期与时间戮相互转化的简单实例
2016/06/22 Javascript
Js遍历键值对形式对象或Map形式的方法
2016/08/08 Javascript
通过jquery实现页面的动画效果(实例代码)
2016/09/18 Javascript
Vue实现表格中对数据进行转换、处理的方法
2018/09/06 Javascript
小程序实现列表删除功能
2018/10/30 Javascript
vue鼠标悬停事件实例详解
2019/04/01 Javascript
基于Vue实现平滑过渡的拖拽排序功能
2019/06/12 Javascript
js 实现ajax发送步骤过程详解
2019/07/25 Javascript
layui prompt 设置允许空白提交的方法
2019/09/24 Javascript
Python中AND、OR的一个使用小技巧
2015/02/18 Python
python版微信跳一跳游戏辅助
2018/01/11 Python
简单了解python关系(比较)运算符
2019/07/08 Python
Django对models里的objects的使用详解
2019/08/17 Python
django-crontab 定时执行任务方法的实现
2019/09/06 Python
python 错误处理 assert详解
2020/04/20 Python
基于python实现模拟数据结构模型
2020/06/12 Python
用于ETL的Python数据转换工具详解
2020/07/21 Python
Python random模块的使用示例
2020/10/10 Python
CSS3制作气泡对话框的实例教程
2016/05/10 HTML / CSS
Java如何支持I18N?
2016/10/31 面试题
运动会开幕式解说词
2014/02/05 职场文书
毕业生就业推荐表自我评价
2015/03/02 职场文书
无罪辩护词范文
2015/05/21 职场文书
python中%格式表达式实例用法
2021/06/18 Python
Java使用Unsafe类的示例详解
2021/09/25 Java/Android