首页 >后端开发 >PHP问题 >php数组里面不能放中文吗

php数组里面不能放中文吗

青灯夜游
青灯夜游原创
2022-08-22 17:00:061941浏览

php数组里面能放中文。因为PHP是弱数据类型的编程语言,所以PHP中的数组可以存储任意多个、任意类型的数据,即数组元素的类型没有限制,可以是数字、布尔值、数组、字符串等;而字符串可分为纯英文字符串、纯中文字符串和中英混合字符串。

php数组里面不能放中文吗

本教程操作环境:windows7系统、PHP8.1版、DELL G3电脑

数组是 PHP 中最重要的数据类型之一,在 PHP 中的应用非常广泛。因为 PHP 是弱数据类型的编程语言,所以 PHP 中的数组变量可以存储任意多个、任意类型的数据,并且可以实现其他强数据类型中的堆、栈、队列等数据结构的功能。

简单来说,PHP数组元素的类型没有限制,可以是数字、字符串、布尔值、数组、Object对象等类型。

其中字符串是一个连续的字符序列,由一系列的字符组成,其中每个字符等同于一个字节。

字符串可分为纯英文字符串、纯中文字符串和中英混合字符串。因此php数组里面能放中文。

示例1:php数组里放纯英文字符串

<?php
header("Content-type:text/html;charset=utf-8");
$arr= array(1,2,"hello",TRUE,[3,4]);
var_dump($arr);
?>

1.png

示例2:php数组里放纯中文字符串

<?php
header("Content-type:text/html;charset=utf-8");
$arr= array("你好","汤姆","hello",TRUE,[3,4]);
var_dump($arr);
?>

2.png

需要注意,在PHP中,一个汉字占三个字符,因此上面示例的两个中文字符串的长度为6.

示例3:php数组里放中英混合字符串

<?php
header("Content-type:text/html;charset=utf-8");
$arr= array("你好124","23汤姆","hello",TRUE,[3,4]);
var_dump($arr);
?>

3.png

扩展知识:中文字符串的两个处理函数

1、中文截取:mb_substr()

mb_substr( $str, $start, $length, $encoding )
  • $str,需要截断的字符串

  • $start,截断开始处,起始处为0

  • $length,要截取的字数

  • $encoding,网页编码,如utf-8,GB2312,GBK

<?php
header("Content-type:text/html;charset=utf-8"); 
$str=&#39;php中文网://m.sbmmt.com&#39;; 
echo mb_substr($str,0,4,&#39;utf-8&#39;);//截取头5个字,假定此代码所在php文件的编码为utf-8 
?>

4.png

2、获取中文长度:mb_strlen()

mb_strlen( $str, $encoding )
  • $str,要计算长度的字符串

  • $encoding,网页编码,如utf-8,GB2312,GBK

<?php
header("Content-type:text/html;charset=utf-8"); 
$str=&#39;php中文网://m.sbmmt.com&#39;; 
echo mb_strlen($str,&#39;utf-8&#39;);//假定此代码所在php文件的编码为utf-8 
?>

5.png

推荐学习:《PHP视频教程

以上是php数组里面不能放中文吗的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn