PHP代码基本语法元素

php基本语法元素

1.1.3.1 phpinfo涵数学习(简单举例说明)

在这个abc.php文件中写入如下代码。

<?php

 

phpinfo();

 

?>

你可以在浏览器地址栏里面,输入你的服务器地址。我们当前是以自己的电脑作为网页服务器来使用的,你可以在地址中输入:

 

代码解读:

phpinfo是一个函数(功能),这个函数(功能)会显示一个当前电脑(服务器)的详细的PHP信息。

电脑是一个很笨的东西。他需要我们人为的告诉他,代码写完了。我们用分号(;)来告诉他代码写完了。因此,只要我们写完一段代码,就需要在后面加分号(;)。

而前后两行的回车空行,是为了让代码更加好看,避免叠在一起,让人看着不舒服。其实,中间你有多少个回车空行都没有关系的,保证好看就行了。PHP的语法解释器(PHP最核心的部份)不会处理这些空行的。

注意事项:

1、php的代码部份全部要用半角的英文、很多人容易写成全角的英文和符号造成PHP代码报错。

2、PHP代码的最后一行可以加也可不加分号。由于很多学习者特别是初学者经常犯一个毛病:写完一行代码不加分号。因此,容易报错。通常在公司里面规定:一行代码写完,就必须要加分号。

3、我们在写文件abc.php这个文件命名的时候,只用英文半脚(a-z A-Z 0-9 _-)这些字符来命名文件。文件命名不要用中文,不要用特殊附号,不要中间加空格,严格区分大小。

1.1.3.2 php变量与常量

一、PHP变量

在这个abc.php文件中写入如下代码。

<?php

$iphone6 = 5880;

$iphone6plus = 6088;

echo $iphone6 + $iphone6plus;   // echo 是在PHP里面最常用的一个输出、显示功能的命令。

?>

$ 叫作美元符,英文单词:dollar。PHP的变量必须以美元符开始。说明搞PHP有“钱”途。

变量的几个特点:

1.必须要以$开始。如变量x必须要写成$x

2.变量的首字母不能以数字开始

3.变量的名字区分大小写

4.变量不要用特殊符号、中文,_不算特殊符号

5.变量命名要有意义(别写xxx,aaa,ccc这种 变量名)

变量分类:可变变量、外部变量、环境变量

1、可变变量举例说明:

<?php

   //定义了一个变量叫作 $shu 将$shu这个变量的值设为字符串的biao

   $shu = 'biao';

   //定义了一个【变量】$biao。将他的值设置为鼠标

   $biao = '鼠标';

   //$$shu 就是可变变量:在已声明的变量$shu前又加上了一个变量符

   echo $$shu;

?>

2、外部变量举例说明:

PHP的外部变量是PHP 在使用过程中规定好的一些变量(主要用于读取文件之外的变量值)。这个变量的规定是这样规定的,就这样使用。

<html>
   <head>
   </head>
   <body>
       <!-- 这一行method 对应的值改为了post -->
       <form action="reg.php" method="post">
           <input type="text" name="username" />
           <input type="password" name="pwd" />
           <input type="submit" value="提交" />
       </form>
   </body>

</html>
<?php

//$_POST后面加上中括号,将username作为字符串放在中括号里面,就得到了表单里面的<input type="text" name="username" /> 的值

$u = $_POST['username'];

echo $u.'<br />';

 

//$_POST['pwd'] 得到表单<input type="text" name="username" /> 的值

$passwd = $_POST['pwd'];

echo $passwd.'<br />';

?>

通过上面的实验我们知道了,通过$_POST这个外部变量,可以得到从表单输入的值。

另外,我们总结一些外部变量,要求知识点的学习级别:了解含义,默写这个单词的写法和作用。

全局变量名

功能说明

$_COOKIE

得到会话控制中cookie传值

$_SESSION

得到会话控制中session的值

$_FILES

得到文件上传的结果

$_GET

得到get传值的结果

$_POST

得到post传值的结果

$_REQUEST

即能得到get的传值结果,也能得到Post传值的结果

3、环境变量举例说明:

环境变量我们主要用的有$_SERVER和$_ENV两个环境变量。不过,$_ENV逐渐被PHP的新版本给废弃了。

<?php

 

phpinfo();

 

?>

其它环境变量:

$_SERVER["REQUEST_METHOD"]

请求当前PHP页面的方法

$_SERVER["REQUEST_URI"]

请求的URI

$_SERVER["SERVER_SOFTWARE"]

用的是哪一种服务器

$_SERVER["REMOTE_ADDR"]

客户的IP地址

$_SERVER["SERVER_ADDR"]

当前服务器的IP地址

$_SERVER["SCRIPT_FILENAME"]

主前请求文件的路径

$_SERVER["HTTP_USER_AGENT"]

当前访问这个网址的电脑和浏览器的情况

$_SERVER["HTTP_REFERER"]

上级来源(用户从哪个地址进入当前网页的)

$_SERVER["REQUEST_TIME"]

当前的时间

二、PHP常量

常量那就好翻译了:长久不变的值。

常量在代码中的定义、书写方式:

define(常量名,常量值)

注:

    1.常量名可以小写,但是通常大写

    2.常量名可以不加引号,但是通常加上引号。

    3.在字符串中调用常量的时候,必须在引号外面且用.号与其他字符分开。不需要加$符号

    4.常量名建议只用字母和下划线

我们用代码来实验一下:

<?php

 

define('MY_NAME','PHP中文网');

 

echo MY_NAME;

//下面是错误的调用方式

echo '我的名字是MY_NAME';

//正确的调用方式该这么写

echo '我的名字是' . MY_NAME;

?>

此外,系统还为我们准备了一些内置的常量。这些常量都是规定好的。我们先熟悉几个,还有更多的系统常量我们学习完上册,入门后再慢慢的增加和学习。

常量名

说明

LINE(line)

当前所在的行

FILE

当前文件在服务器的路径

FUNCTIOIN

当前函数名

CLASS

当前类名

METHOD

当前成员方法名

PHP_OS

PHP运行的操作系统

PHP_VERSION

当前PHP的版本

TRAIT

Trait 的名字,php5.4新加

DIR

文件所在的目录

NAMESPACE

当前命名空间的名称(区分大小写)

1.1.3.3 php注释

所谓注释,汉语解释可以为:注解。更为准确一些。因为代码是英文的、并且代码很长,时间长了人会忘。所以我们会加上注释

注释的功能有很多:

1.对重点进行标注

2.时间长了容易忘快速回忆,方便查找

3.让其他人看的时候快速看懂

4.还可以生成文档,代码写完相关的文档就写完了,提高工作效率

5.注释、空行、回车之后的代码看起来更优美

6.注释可用来排错。不确定代码中哪一块写错了,可以将一大段注释,确定错误区间

7.注释中间的部份的内容,电脑不会执行它

接下来我们来说PHP的注释,注释分别:

 

1、单行注释(只注释一行)

//   表示单行注释

##号也表示单行注释,用的比较少

2、多行注释(注释多行)

/*

多行注释 这里是注释区域代码

 */

多行和单行注释举例:

<?php
/*
作者:大柱
时间:2020/9/16
内容:php常量与备注练习
 */
define('MY_NAME','网络安全');
echo '我的班级是_'.MY_NAME.'_同学'.'<br />' ;
//echo常量时,常量两边需要用.隔开(不同字段之间需要用.号隔开,以表示开始或者结束)单行备注注释也可使用#号
$z = 'dazhu';
echo 'my name is'.$z.'同学'.'<br />';
?>

2.1.3.3 php数据类型

数据类型:就是对数据分类的一个划分而已,例如:

哺乳动物

人、猫、马、鸭嘴兽....等等

蔬菜

西红柿、波菜、茄子....等等

水果

西瓜、桃子、苹果....等等

PHP中一共有八种数据类型,包括4中标量数据类型,即boolean(布尔类型)integer(整型),float/double(浮点型)和string(字符串型)两种复合数据类型,即array(数组)和object(对象), 两种特殊的数据类型:即resource(资源)与 null (无,空白);

数据类型

描述

boolean(布尔型)

布尔型是最简单的数据类型,只有两个值 false() true()

string(字符串型)

字符串就是连续的字符序列,如 ehco "string";

integer(整型)

整型数据类型只能包含整数,这些数据类型可以是负数或者正数

float(浮点型)

浮点型类型用于存储数字,和整型不同的是浮点型可以有小数点

array(数组)

一组不同类型的集合

object(对象)

对象是一个实力,使用new命令创建一个对象

resource(资源)

资源是一种特殊的变量,保存在外部资源的一个应用,资源是通过函数来进行建立的

null( 空白)

特殊的值,表示变量没有值,任何变量的初始值都是null

、整型类型

整型——整数也,英文称之:integer。英文简写:int

整型分为:

10进行

8进制 (了解,基本不用)

16进制(了解,基本不用)

整型(整数)在计算机里面是有最大值和最小值范围的。

【了解知识点,开发中不常用】大家经常听说32位计算机,也就是32位计算机一次运算处理的最大范围为-232232-1
64位计算机呢?——

10进制声明:

//为了方便大家记忆和前期学习,英文不好的朋友也可用拼音来声明变量。以后再用英文来声明变量也无所谓

//声明变量 整数,英文 int

8进制声明:0开始,后面跟0-7的整数(了解知识点)

//8进制的取值范围最大为0-7,0,1,2,3,4,5,6,7

 //16进制声明0x开始,后面跟0-f的,0x的abcdef不区分大小写。(了解知识点)

//16进制的取值范围最大为0-f,0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f

例如:

<?php
$number = 0x35ff;
    echo $number.'<br />';
    $bajinzhi = 01345135;
echo $bajinzhi.'<br />';
$shijinzhi = 12315;
echo $shijinzhi.'<br />';
    ?>

 //运行后会自动转化为十进制

二、布尔型数据

所谓布尔类型,汉语翻译过来之后,更好的解释是用道家中易经的语言来进行解释,即为:

阴/阳

男/女

真/假

对/错

存在/不存在

01
等等.... ...

举例:

<?php

//声明一个变量(拼音)为布尔

$buer=true;

//声明一个变量(英文)

$bool=false;

?>
<?php
$date = rand(0,23);
echo "到达时间为 $date 点 
";
//if()就是一种典型的bool类型。要么为真——执行,否则执行备选项。
if ($date >= 6 && $date <10){ echo '去酒店泡澡'; }elseif($date >= 10 && $date <18){ echo '吃神户牛肉'; }elseif($date >= 18 && $date <22){ echo '找个朋友聊聊天'; }else{ echo'睡觉'; } ?>

三、字符串数据

PHP语言中声明字符串有三种方式:

1.用单引号声明

2.用双引号声明

3.用字界符声明(需要输入非常大段的字符串时使用)

<?php
/*
''
""
字界符
 */
$z = '_大柱_';
$zifu='曾静有份操蛋的爱情摆在我面前,我珍惜了。当我得到的时候才感到后悔莫及,如果非要在这段爱情前面加上三个字,我想说:滚犊子';
//正确表达方式,''所见即所得.不支持变量和转义符等但是支持转义符
echo $zifu.'<br />';
$zifu2="$z 曾静有份操蛋的爱情摆在我面前,我珍惜了。当我得到的时候才感到后悔莫及,如果非要在这段爱情前面加上三个字,我想说:滚犊子";
//正确表达方式,双引号中允许解析变量但不会解析其他内容。变量后加“空格”或者用{}将$后的变量内容括起来,以区分其他内容。
echo $zifu2.'<br />';
$zifu3="$z 曾静有份操蛋的爱情摆在我面前,我珍惜了。当我得到的时候才感到后悔莫及,如果非要在这段爱情前面加上三个字,我想说:滚犊子";
//正确表达方式,双引号中 允许解析以及转义符 变量但不会解析其他内容。变量后加“空格”或者用{}将$后的变量内容括起来,以区分其他内容。
echo $zifu3.'<br />';
$zifu_zijiefu = <<<ABC
如果
    非要在这个滚犊子
   前
     面<br />
     加上一段
     <i> 距离的话</i>
我想说,<h1>思想有多远,你就给我滚多远</h1>
ABC;
//字界符后跟一段内容。
echo $zifu_zijiefu.'<br />';
$type1 = var_dump($zifu);
echo $type1.'<br />';
$type = gettype($z);
echo $type.'<br />';
$zifu4=曾静有份操蛋的爱情摆在我面前,我珍惜了。当我得到的时候才感到后悔莫及,如果非要在这段爱情前面加上三个字,我想说:滚犊子;
//错误书写方式,所有文本内容都会被php当做作用字符识别而非字符串
echo $zifu3.'<br />';
?>

那双引号和单引号有什么区别呢?

1.双引号解析变量,但是单引号不解析变量。

    2.在双引号里面插入变量,变量后面如果有英文或中文字符,它会把这个字符和变量拼接起来,视为一整个变量。一定要在变量后面接上特殊字符,例如空格等分开。

    3.如果在双引号里面插变量的时候,后面不想有空格,可以拿大括号将变量包起来。

    4.双引号解析转义字符,单引号不解析转义字符。但,单引号能解析'

    5.单引号效率高于双引号,尽可能使用单引号

    6.双号和单引号可以互插!!!双引号当中插入单引号,单引号当中插入变量,这个变量会被解析。

    7.神奇的字符串拼接胶水——(.)点,用来拼接字符串。

    8.我们将定界符声明字符串视为双引号一样的功能来看待。

四、浮点型数据

所谓浮点类型,可以理解为:我们数学里面的小数。

声明方式分为两种:普通声明和科学声明

普通声明浮点数:

案例1

<?php

//声明变量fudian的值为12121.3132

$fudian = 12121.3132;

echo $fudian;

?>

案例2

<?php

//声明变量$fl 的值为0.8873

$fl = 0.8873;

var_dump($fl);

?>

五、php数据类型之查看和判断数据类型

查看数据类型

    1.gettype(传入一个变量) 能够获得变量的类型

    2.var_dump(传入一个变量) 输出变类型和值

<?php
$shu = array(213,012,12.3,true,'天王盖地虎,小鸡炖蘑菇');
echo'<br />';
var_dump($shu);
echo'<br />';
$type=gettype($shu);
echo $type.'<br />';
echo'<br />';
echo count($shu);
?>

判断数据类型

我们使用is_* 系列函数。 is_types这一系列的函数,来进行判断某个东西是不是某个类型。如果是这个类型返回真,不是这个类型返回假。

is_int 是否为整型
is_bool 是否为布尔
is_float 是否是浮点
is_string 是否是字符串
is_array 是否是数组
is_object 是否是对象
is_null 是否为空
is_resource 是否为资源
is_scalar 是否为标量
is_numeric 是否为数值类型
is_callable 是否为函数

//is_* 系列函数有个特点,就是如果是这个类型就返回的是真。不是这个数据类型就返回的是假

//声明类型为假$fo = false;

if(is_bool($fo)){
    echo '执行真区间';
}else{
    echo '执行假区间';
}

//执行后结果显示 执行假区间

 

<?php
$int = 123445;
if (is_int($int)){
    echo '';
}else{
    echo '';
}
echo '<br />';
$int2 = '大柱';
if (is_int($int2)){
    echo 'true';
}else{
    echo 'false';
}
echo '<br />';
?>

//检查未声明的变量$p是否为空,为空就执行真区间

if(is_null($p)){

    echo '执行真区间';

}else{

    echo '没有这个变量';

}

echo "<br/>";

 

//字符串类型的数值,看看执行的是真还是假

$str = '18.8';

if(is_numeric($str)){

    echo '执行真区间';

}else{

    echo '执行假区间';

}

echo "<br/>";

//sca的值换成整型、浮点、布尔和字符串试试

$sca = true;

//如果为标量,执行真区间
if(is_scalar($sca)){
    echo '执行真区间';
}else{
    echo '执行假区间';
}
echo "<br/>";

//换成echo,is_int试试,为什么echo执行假区间呢?

if(is_callable('var_dump')){
    echo '执行真区间';
}else{
    echo '执行假区间';
}
?>

 

 

1.1.3.3 php流程控制之if else语法

<?php
$date = rand(0,23);
echo "到达时间为 $date 点 
";
if ($date >= 6 && $date <10){
    echo '去酒店泡澡';
}elseif($date >= 10 && $date <18){
    echo '吃神户牛肉';
}elseif($date >= 18 && $date <22){
    echo '找个朋友聊聊天';
}else{
    echo'睡觉';
}
?>

//if...else执行结束,后续代码

//if(){}else{}如果...就...否则...()内是bool型结果{}内是判断后执行动作。

//elseif 否则,如果...

//else 否则

1.1.3.3 php算术运算

算数运算符,就是大家小学所学绝大多数知识:

<?php
$x = 5;
$y = 6;
//5+6为11
echo $x + $y
?>

一、php自加自减

自加自减,就是把自己加1,或者减1。如果你学习过其他编程语言。你会发现,此处的用法又是计算机里面的一个规定。可以这样用,用起来更加简洁。

上面的用法其实挺简单的,按照上面的例子。我们分成步骤去,按过程去判断即可。

<?php
$nu1=3;
$nu2=5;
$nu3=$nu1++;//先赋值,后运算
echo $nu3.'<br />';//3  
echo $nu1.'<br />';//4(自加1)
$nu4=++$nu1;//先运算,后赋值
echo $nu4.'<br />';//5(在上一次$1运算结果基础上进行)
echo $nu1.'<br />';//5
//自减同理
?>

二、php比较运算符

比较运算符,在大家小学的时候就学了很多,有:

 

<?php
$x = 5;
$y = 6;
//因为5大于6不成立,所以为错的。即为false执行了假区间
if($x > $y){
   //真区间
   echo '变量x 大于 变量y,成立';
}else{
     //假区间
     echo '变量x 大于 变量y,不成立';
}
?>

三、php逻辑运算

逻辑运算符比较简单,是我们人类进行逻辑思考时的一种方式。

<?php
$x = true;
$y = false;
//逻辑与(并且),要求两个都为true才执行真区间,所以代码中执行假区间
if($x && $y){
   echo '执行了真区间';
}else{
   echo '执行了假区间';
}
?>

四、php^位运算

<?php
//$x二进制值为:
$x = 5;
//$y二进制值为:
$y = 8;
//结果为13
echo $x ^ $y;
?>

异或解释:如果x,y两个值不相同,则异或结果为1。如果x,y两个值相同,异或结果为0

由此可推1101$x$y异或出来的结果,1101用二进制转10进制工具转换后的结果就为13

五、php三元运算符和其它运算符

三元运算符,相当于是if...else结构。不过三元运算符的写法更加简洁,语法格式如下:

<?php
$x = true;
$x ? $y = 5 : $y = 6;
//输出5
echo  $y;//输出为1
?>

<?php
echo '<pre>';
echo `ipconfig`;
echo '</pre>';
原文地址:https://www.cnblogs.com/dazhu-secure/p/13721110.html