PHP变量的介绍、创建及打印输入的方法
一、PHP变量的介绍
php变量的数据类型有哪些?
- 基本类型: 数值(整数/实数), 字符串类型, 布尔类型
- 复合类型: 数组, 对象
- 特殊类型: 资源(文件,数据库连接等), null
PHP变量的数据类型的特点
- 基本类型: 数值, 字符串, 布尔值(true/false)
- 字符串必须使用定界符进行包装: 单引号/双引号
2.1 单引号: 纯字符中
2.2 双引号: 除了纯字符串之外, 还能解析变量和特殊字符
PHP变量的取值范围
- 数值: 计算机的字长相关, 32位与64位不相同的
- 字符串: 与字符编码集相关, gbk / utf8 / utf8mb4
- 布尔值:
true / false
PHP变量的存储方式
- 栈: 定长的存储单元, 整数4-8个字节, 字符串的入口地址放进去
- 堆: 不定长的存储单元, 数组, 对象,字符串本身
PHP变量的类型说明
1.一个变量名对应一个值: 单值类型/标量类型$name = '我是PHP中文网的学生'; $gender = 'male';
2.一个变量名与多个值对应: 多值类型/复合类型: 数组/对象
二、PHP变量的创建
php变量的命名规则
标识符: 只允许由字符串, 数字或下划线组成,并且不能以数字开始
php变量名也是标识符, 所以必须遵守标识符的命名规范
1.php变量名,必须以特殊字符: $ 开始: $name
2.”$”后面的内容,必须符合PHP标识符的命名规范:字符串, 数字或下划线组成,并且不能以数字开始
3.PHP变量严格区分大小写 , $username
, $userName
$username = '高同学';
$userName = 30;
php变量无需声明
1.php变量,使用前不用声明: php没有变量声明语句
2.所谓变量声明, 可以简单的理解为:向内存申请一块空间,用来存储数据, 变量名就是内存地址的编号
3.赋值:第一次要初始化, 第二次叫更新/修改
二、PHP变量的打印输出
字符串的输出
echo输出:主要用于单值读取,回显,无返回值
$name = '高同学';
$age = 30;
$web = 'php.cn';
//输入一个变量,使用 . 串连别的字符
echo $name . '<br>';
echo '我的年龄是: ' . $age . '<br>';
//推荐写法
echo $name . '的年龄: ' . $age . '<br>';
//使用 ,串连可以减少计算机的计算,但现在计算机配置较高可以忽略
echo $name , '的年龄: ' , $age , '<br>';
//调用变量中的某个字符,一个汉字等于两个字符,开始位置为0
//不推荐使用 [] 会被别人以为这个变量是数组
echo '姓名的第一个字母: ' . $web[0] . '<br>';
//推荐的写法
echo '姓名的第一个字母: ' . $web{1} . '<br>';
注意事项
单引号字符串和双引号字符串的区别:
1.单引号字符串中的变量不会被解析
2.双引号字符串中变量可以被解析
3.双引号中特殊字符会被解析
echo "单引号不能识别变量并输出,双引号可以:<br>";
echo '单引号:你好{$name}<br>';
echo "双引号:你好{$name}";
echo "<hr>";
echo "单引号不能识别特殊字符,双引号可以:<br>";
echo '单引号:your name?\t my name is {$name}<br>';
echo "双引号:your name?\t my name is {$name}";
引号中的变量的写法
echo "我是: $name <br>";
echo "我是: ${name}abc <br>";
echo "我是: {$name} <br>";
上面写法都能被解析出来,但推荐下面的写法,第一种不推荐,如果有干扰字符容易出错
print输出:只能输出一个字符串带一个参数,必须加双括号,有返回值,
print( "{$name}的年龄是{$age}<br>" );
//显示返回值
echo print('年龄: ' . $age . '<br>');
print_r:不是输出, 而是返回return , 如果参数二设置为true,则不会输出表达式信息,而是直接return回来
echo print_r($name);
echo '<br>';
echo print_r($name, true);
格式化输出
// 复合数据, 数组
//创建一个从1开始到20结束,间隔一个数字的数组
$data = range(1,20,2);
// 数组
$result = print_r($data, true);
echo '<pre>' . $result . '</pre>';
var_export输出:返回变量的结构信息
echo $name . '<br>';
var_export($name);
上图中后一个带单引号为这个变量定义时的结构信息
var_dump输出:用于输出变量的内容、类型、字符串的内容,常用于开发中调试使用
var_dump($name, $age, $web);
大段字符串的输出
heredoc: 类似双引号定义的字符串 优点: 简洁
1.必须以三个<<<开头,以相同的标识符来标识内容开头和结尾,结尾标识符必须顶行首写,后面紧跟;
2.内容开头标识符可以加双引号(或者不加:默认不加)
echo <<< web
<h3 style="color: red">"PHP\t中文网"{$name}</h3>
web;
echo <<< "HELLO"
<h3 style="color: green">"PHP\t中文网"{$name}</h3>
HELLO;
页面源码
nowdoc: 功能与单引号创建的字符串类似 优点: 直观
1.内容开头标识符需加单引号
echo <<< 'web'
<h3 style="color: green">"PHP\t中文网"{$name} 'php真香'</h3>
web;
页面源码