数字浮点布尔型是值类型, 英文: intfloatbool, 这样你知道他们怎么用了
比如语句:$fa=3.14;
字符串和数组是引用类型, 也就是说他们作为地址放在栈里, 当重新赋值时, 栈里的地址改变方向, 原来的指向变没或给回收了, 英文: stringarray
比如:$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 "
- "; ? >
来源: https://www.php1.cn/detail/php-d9d8f3116b.html