PHP语法结构、变量、数据类型

一、PHP语法结构

1、XML风格

<?php
echo 'XML风格';

注意:如果PHP代码后不存在其他(HTML、CSS)代码,结尾?>必须省略;

在这里插入图片描述

2、短风格

<?
echo '短风格';

注意:

  1. 默认情况下,PHP引擎中的短风格被禁用;

  2. 将PHP配置文件中的short_open_tag设置为on,即可启用(不推荐)

3、注释

C++风格: //注释内容
Shell风格: #注释内容

在PHP模式当中,你可以将不需要执行的代码注释起来。PHP有三种注释模式://、/* */#。其中,///* */表示注释掉本行,/* */表示注释掉二者之间的部分。使用/* */会有一些副作用,因此使用相对较少。

 <?php
    print "This is printed\n";
    // print "This is not printed\n";
    # print "This is not printed\n";
    print "This is printed\n";
    /* print "This is not printed\n";
    print "This is not printed\n"; */
?>

上面的代码展示了三种注释的使用方式,但是没有说明/* */存在的问题。如果你用/*开始了注释,而*/和另外一个/*连在一起的话,你就会发现代码不工作了。这是因为/* */形式的注释不能连起来用,也不能嵌套,否则代码就会崩溃。

通常来说,一般用//来注释,简单、容易发现、易于阅读和控制。

二、变量

1、什么是变量?

变量(Variable),是指存储在内存中有名称的信息,其值在程序运行期间可以发生变化;变量有变量名称和变量值组成;

2、声明变量

<?php
$变量名称
$变量名称 =

3、变量的命名规范

PSR-1 基础编码规范

  1. 变量名称必须以字母或下划线开头,包含字母、数字、下划线及短横线;
  2. 变量名称禁止包含空格、斜线、反斜线、星号、冒号等特殊符号;
  3. 变量名称必须含义明确;
  4. 变量名称必须遵守"驼峰标记法";

三、数据类型

PHP支持9种基本数据类型和5种伪类型

1、标量类型

1.整型(Integer)

可以存储二进制、八进制、十进制及十六进制整数;可以带有符号位;

二进制以ob开头,包含0和1;

八进制以0开头,包含0~7

十六进制以0x或0X开头10,包含0~f

<?php 
$x = 5985;
var_dump($x);
echo "<br>"; 
$x = -345; // 负数 
var_dump($x);
echo "<br>"; 
$x = 0x8C; // 十六进制数
var_dump($x);
echo "<br>";
$x = 047; // 八进制数
var_dump($x);

整数的最大范围由常量PHP_INT_MAX决定(与操作系统有关); 如果超过整数的最大范围则会造成整数溢出;

说明: var_dump() 方法,判断一个变量的类型与长度,并输出变量的数值,如果变量有值,则输出是变量的值,并返回数据类型。显示关于一个或多个表达式的结构信息,包括表达式的类型与值。数组将递归展开值,通过缩进显示其结构。

2.浮点型(FLOAT、DOUBLE、REAL)

浮点数是带小数部分的数字,或是指数形式。其最大存储围为1.79E308,并具有14十进制数字的精度

<?php 
$x = 10.365;
var_dump($x);
echo "<br>"; 
$x = 2.4e3;
var_dump($x);
echo "<br>"; 
$x = 8E-5;
var_dump($x);
3.布尔型(Boolean)

只能存储true和false;布尔型通常用于条件判断。

<?php
$x=true;
$y=false;
4.字符型(string)

一个字符串是一串字符的序列,就像 “Hello world!”。
可以将任何文本放在单引号和双引号中:可以存储任意字符;必须括在定界符之间;

<?php 
$x = "Hello world!";
echo $x;
echo "<br>"; 
$x = 'Hello world!';
echo $x;

定界符

单引号: ’ ',只解析’和\两个转义符;
双引号: " ",可以解析所有转义符;
自定义定界符
为了能够在PHP中输入大量文字而不是用转义符,人们发明出了定界符。定界符可能一开始有点难以理解,学会之后是很有用处的。简单来说,定界符就是允许你自己定义除了单双引号之外的字符串的边界。例如,我们下面使用EOT(End Of Text)作为分隔符。在遇到下一个EOT之前,我们可以在文字中随便使用单双引号。

实际使用定界符的时候,要注意字符串的分隔符需要自己单独一行,也就是说,在它前后都不能加空格或tab。

来看一下例子:

 <?php
$mystring = <<<EOT
    This is some PHP text.
    It is completely free
    I can use "double quotes"
    and 'single quotes',
    plus $variables too, which will
    be properly converted to their values,
    you can even type EOT, as long as it
    is not alone on a line, like this:
EOT;
?>

需要对定界符和上面的例子再说几句:

你可以使用任何字符来表示字符串的界限,EOT只是一个例子。

  • 在分隔符之前你需要用<<<告诉PHP你要进入定界符模式。
  • 如果你要用美元符号的话,需要用转义符,否则,PHP将尝试进行变量替换。
  • 你可以在文本当中使用作为分隔符的文字,但是不能在单独一行的开头使用。
  • 在整个文本结束的时候,键入分隔符后,用分号表明这个语句的结束。
  • 定界符建议使用CDATA、EOT;

如果没有定界符,输入复杂的字符串很复杂,也很麻烦。虽然你可能想多用定界符,但定界符实际上并不常用,将来你会遇到不用定界符的乱七八糟的代码。

转义符

PHP中,你可以通过\使得在双引号中输出对应符号。

转义符,就是通过\加上一个字母或符号,来达到输出相应字符的目的。例如,你要输出"And then he said, “That is amazing!”, which was true",由于其中有双引号,所以你需要用到转义符。下面是PHP当中的转义符列表:

符号 说明
\ " 输出双引号,不作为字符串的结束
\’ 输出单引号,不作为字符串的结束
\n 输出换行符
\t 输出制表符
\r 输出回车(很少使用)
\$ 输出美元符号,不作为变量的开头
\\ 输出斜线,不作为转义符

下面这段代码说明了转义符的使用:

 <?php
    $MyString = "This is an \"escaped\" string";
    $MySingleString = 'This \'will\' work';
    $MyNonVariable = "I have \$zilch in my pocket";
    $MyNewline = "This ends with a line return\n";
    $MyFile = "c:\\windows\\system32\\myfile.txt";
?>

在使用Windows格式的路径时,特别容易忘记使用转义符。只要写代码的时候多写一个\就好了。你可以输出$MyFile看一下:

c:\windows\system32\myfile.txt

转义符只是为了使PHP能够正确读入字符串而是用的。一旦读入了字符串,数据就会被转换成应有的格式。

同时,转义符只在双引号当中有用,如果你输入'Hello!\n\n\n',PHP会原样输出\n\n\n而不是换行符。同时应该注意,转义符是一个字符,只是我们通过键盘输入的时候需要输入两个字符,因为有些字符键盘是无法输入的。

2、复合类型

1. 数组(Array)
2.对象(Object)
3.可调用(Callable)

3、特殊类型(无法归为其他类型的数据类型)

1.空值(null)

NULL 值表示变量没有值。NULL 是数据类型为 NULL 的值。
NULL 值指明一个变量是否为空值。 同样可用于数据空值和NULL值的区别。
可以通过设置变量值为 NULL 来清空变量数据:

<?php
$x="Hello world!";
$x=null;
var_dump($x);
?>

以下情况为空值:

  1. 声明但没有赋值的变量;
  2. 声明但赋值为null;
  3. 通过unset()函数销毁的变量;
2.资源(Resource)

该种无法通过直接声明获取,而只能通过特定的函数来实现;

4、伪类型(只是为了说明函数的基本使用而人为的一种数据类型)

mixed(混合),多种类型;
number(数值),指整数和浮点;
void(无用的),如果在参数中,则代表无参数;如果在返回值中,则代表无返回值;
callback(回调函数)

函数的基本使用:

函数是计算机已经封装好的代码段,其可以完成特定的功能;
返回值 函数名称([参数类型 参数,…])

说明:

  1. 方括号代表可选项;
  2. 参数类型代表在调用函数时,参数应该传递的数据类型;
  3. 参数都必须括在小括号内;
  4. 返回值代表程序运行的结果;
发布了316 篇原创文章 · 获赞 270 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/qq_44721831/article/details/104339946