侯体宗的博客
  • 首页
  • Hyperf版
  • beego仿版
  • 人生(杂谈)
  • 技术
  • 关于我
  • 更多分类
    • 文件下载
    • 文字修仙
    • 中国象棋ai
    • 群聊
    • 九宫格抽奖
    • 拼图
    • 消消乐
    • 相册

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

php  /  管理员 发布于 7年前   182

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

比如语句:$fa=3.14;

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

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

字符串操作:

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

复制代码 代码如下:

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

实例3:字符串改变大小写
复制代码 代码如下:

$str="12345ABc";
echo strtolower($str);//变小写,结果:"12345abc"。
echo "
";
echo strtoupper($str);//变小写,结果:"12345ABC"。
echo "
";
?>

实例4:字符串长度、截取子字符串(中英文)
复制代码 代码如下:

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

实例5:子字符串查找、替换

复制代码 代码如下:

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

实例6:子字符串去空、html转义
复制代码 代码如下:

$str=" 字符串5 ";
echo $str=trim($str);//去除两边空格,结果:"字符串5"。
echo "
";
echo "color=\"red\"";//\手工转义里面的'、"、\,使之存储到内存,结果"color="red""
echo "
";
$str="
123";
echo htmlentities($str) ; //字符串转义<>&'"避免和html标识冲突,使之能在html浏览器端显示出来,结果:"<br>123"。
echo "
";
?>

您可能感兴趣的文章:

  • php curl常见错误:SSL错误、bool(false)
  • PHP数据类型之布尔型的介绍
  • php中的boolean(布尔)类型详解
  • 浅谈PHP中其他类型转化为Bool类型


  • 上一条:
    《PHP编程最快明白》第三讲:php数组
    下一条:
    一篇有意思的技术文章php介绍篇
  • 昵称:

    邮箱:

    0条评论 (评论内容有缓存机制,请悉知!)
    最新最热
    • 分类目录
    • 人生(杂谈)
    • 技术
    • linux
    • Java
    • php
    • 框架(架构)
    • 前端
    • ThinkPHP
    • 数据库
    • 微信(小程序)
    • Laravel
    • Redis
    • Docker
    • Go
    • swoole
    • Windows
    • Python
    • 苹果(mac/ios)
    • 相关文章
    • Laravel从Accel获得5700万美元A轮融资(0个评论)
    • PHP 8.4 Alpha 1现已发布!(0个评论)
    • 用Time Warden监控PHP中的代码处理时间(0个评论)
    • 在PHP中使用array_pop + yield实现读取超大型目录功能示例(0个评论)
    • Property Hooks RFC在PHP 8.4中越来越接近现实(0个评论)
    • 近期文章
    • 智能合约Solidity学习CryptoZombie第三课:组建僵尸军队(高级Solidity理论)(0个评论)
    • 智能合约Solidity学习CryptoZombie第二课:让你的僵尸猎食(0个评论)
    • 智能合约Solidity学习CryptoZombie第一课:生成一只你的僵尸(0个评论)
    • 在go中实现一个常用的先进先出的缓存淘汰算法示例代码(0个评论)
    • 在go+gin中使用"github.com/skip2/go-qrcode"实现url转二维码功能(0个评论)
    • 在go语言中使用api.geonames.org接口实现根据国际邮政编码获取地址信息功能(1个评论)
    • 在go语言中使用github.com/signintech/gopdf实现生成pdf分页文件功能(0个评论)
    • gmail发邮件报错:534 5.7.9 Application-specific password required...解决方案(0个评论)
    • 欧盟关于强迫劳动的规定的官方举报渠道及官方举报网站(0个评论)
    • 在go语言中使用github.com/signintech/gopdf实现生成pdf文件功能(0个评论)
    • 近期评论
    • 122 在

      学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..
    • 123 在

      Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..
    • 原梓番博客 在

      在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..
    • 博主 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..
    • 1111 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
    • 2016-10
    • 2016-11
    • 2017-06
    • 2017-07
    • 2017-08
    • 2017-09
    • 2017-11
    • 2017-12
    • 2018-01
    • 2018-02
    • 2018-03
    • 2020-03
    • 2020-04
    • 2020-05
    • 2020-06
    • 2020-07
    • 2020-09
    • 2021-02
    • 2021-03
    • 2021-04
    • 2021-05
    • 2021-06
    • 2021-07
    • 2021-08
    • 2021-09
    • 2021-10
    • 2021-11
    • 2021-12
    • 2022-01
    • 2022-02
    • 2022-05
    • 2022-06
    • 2022-07
    • 2022-08
    • 2022-09
    • 2022-10
    • 2022-11
    • 2022-12
    • 2023-01
    • 2023-02
    • 2023-03
    • 2023-04
    • 2023-05
    • 2023-06
    • 2023-07
    • 2023-08
    • 2023-09
    • 2023-10
    • 2023-11
    • 2023-12
    • 2024-01
    • 2024-02
    • 2024-03
    • 2024-04
    • 2024-05
    • 2024-06
    • 2024-07
    • 2024-09
    Top

    Copyright·© 2019 侯体宗版权所有· 粤ICP备20027696号 PHP交流群

    侯体宗的博客