PHP基本语法

1. PHPINFO函数

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

<?php

phpinfo();

?>

在这里插入图片描述


代码解读

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

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

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

注意事项

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

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

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


2. PHP变量与常量

PHP变量

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

<?php
$x=5;
$y=6;
$z=$x+$y;
echo $z;
?>

输出结果为:

11

$ 叫作美元符,英文单词:dollar。PHP的变量必须以美元符开始。


变量的几个特点

  1. 必须要以 $ 开始。如变量 x 必须要写成 $x。
  2. 变量的首字母不能以数字开始。
  3. 变量的名字区分大小写。
  4. 变量不要用特殊符号、中文,_不算特殊符号。
  5. 变量命名要有意义(别写xxx,aaa,ccc这种变量名)。

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

可变变量举例说明
<?php
   //定义了一个变量叫作 $shu 将$shu这个变量的值设为字符串的biao
   $shu = 'biao';
   //定义了一个【变量】$biao。将他的值设置为鼠标
   $biao = '鼠标';

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

输出结果为:

鼠标

外部变量举例说明

PHP的外部变量是PHP 在使用过程中规定好的一些变量。这个变量的规定是这样规定的,就这样使用。


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


<?php
//$_POST后面加上中括号,将username作为字符串放在中括号里面,
//就得到了表单里面的<input type="text" name="username" /> 的值
$u = $_POST['username'];
echo $u.'<br />';

//$_POST['password'] 得到表单<input type="text" name="username" /> 的值
$passwd = $_POST['password'];
echo $passwd.'<br />';
?>


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

全局变量名功能说明
$_COOKIE得到会话控制中cookie传值
$_SESSION得到会话控制中session的值
$_FILES得到文件上传的结果
$_GET得到get传值的结果
$_POST得到post传值的结果
$_REQUEST即能得到get的传值结果,也能得到Post传值的结果

环境变量举例说明

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

PHP常量

常量那就好翻译了:长久不变的值。
常量在代码中的定义、书写方式:
define(常量名,常量值);

注:

  1. 常量名可以小写,但是通常大写。
  2. 常量名可以不加引号,但是通常加上引号。
  3. 在字符串中调用常量的时候,必须在引号外面。
  4. 常量名建议只用字母和下划线。

代码如下(示例):

<?php

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

echo MY_NAME.PHP_EOL;
//下面是错误的调用方式
echo '我的名字是MY_NAME.'.PHP_EOL;
//正确的调用方式该这么写
echo '我的名字是' . MY_NAME;

?>

输出结果为:

PHP中文网.
我的名字是MY_NAME.
我的名字是PHP中文网.

一些系统规定好的内置常量

常量名说明
LINE当前所在的行
FILE当前文件在服务器的路径
FUNCTION当前函数名
CLASS当前类名
METHOD当前成员方法名

3. PHP注释

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

注释的功能

  1. 对重点进行标注。
  2. 时间长了容易忘快速回忆,方便查找。
  3. 让其他人看的时候快速看懂。
  4. 还可以生成文档,代码写完相关的文档就写完了,提高工作效率。
  5. 注释、空行、回车之后的代码看起来更优美。
  6. 注释可用来排错。不确定代码中哪一块写错了,可以将一大段注释,确定错误区间。
  7. 注释中间的部份的内容,电脑不会执行它。

注释说明:

1、单行注释(只注释一行)
//   表示单行注释。
#    # 号也表示单行注释,用的比较少。
2、多行注释(注释多行)
/* 
多行注释 这里是注释区域代码。
*/

单行注释举例:

<?php

//声明一部iphone6手机的价格变量
$iphone6_price = 6088;

//显示输出手机价格
echo $iphone6_price;
?>

多行注释举例:

<?php
/*
作者:oldboy
时间:2048.12.23
功能:这是一个多行注释的例子
*/
?>

4. 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进制声明:

<?php
//声明变量 整数,英文 int
$int=1000;
echo $int;
?>

输出结果为:

1000

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

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

$octal = 033145;
echo $octal;

?>

输出结果为:

13925

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

<?php
//16进制的取值范围最大为0-f,即0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f
$hexadecimal = 0x6ff;
echo $hexadecimal;
?>

输出结果为:

1791

布尔型数据

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

阴/阳
男/女
真/假
对/错
存在/不存在
01
等等.... ...

举例:

<?php
//声明一个变量(拼音)为布尔
$buer=false;
//声明一个变量(英文)
$bool=true;
?>

字符串数据

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

  1. 用单引号声明
  2. 用双引号声明
  3. 用字界符声明(需要输入非常大段的字符串时使用)

单引号声明

用英文半脚的单引号,将字符串包起来

<?php
//声明字符串变量$str

$str='曾经有操蛋的爱情摆在我面前,我珍惜了。当我得到的时候才感到后悔莫及。如果非要在这段爱情前面加上一段三个字,我愿意说三个字:滚犊子!';
echo $str;

?>

双引号声明字符串

在字符串两边加双引号

<?php
//声明字符串变量$str
$str = "如果非要在滚犊子前面加上一个时间的话我愿意是:马上!";
echo $str;
?>

字界符声明

  1. 在变量后面的等号写三个小于号(<<<)
  2. 然后在<<<后面写上字符(建议英文大写字符)。如下例中的:ABC
  3. 然后换行写上任意想写的字符
  4. 写完后,顶行。在行最开始处,再写上<<<后面的字符和分号。如下例中的:ABC;
<?php
$dingjie = <<<ABC
  如果
       非要在这个滚犊子
   前
       面<br />
      加上一段
   <i>距离的话</i>
   我想说:<h1>思想有多远,你就跟我滚多远!</h1>
ABC;
?>

双引号和单引号的区别

  1. 双引号解析变量,但是单引号不解析变量。
  2. 在双引号里面插入变量,变量后面如果有英文或中文字符,它会把这个字符和变量拼接起来,视为一整个变量。一定要在变量后面接上特殊字符,例如空格等分开。
  3. 如果在双引号里面插变量的时候,后面不想有空格,可以拿大括号将变量包起来。
  4. 双引号解析转义字符,单引号不解析转义字符。但,单引号能解析 \’ 和 \
  5. 单引号效率高于双引号,尽可能使用单引号。
  6. 双号和单引号可以互插!!!双引号当中插入单引号,单引号当中插入变量,这个变量会被解析。
  7. 神奇的字符串拼接胶水——(.)点,用来拼接字符串。
  8. 我们将定界符声明字符串视为双引号一样的功能来看待。

浮点型数据

所谓浮点类型,可以理解为:我们数学里面的小数。
声明方式分为两种:普通声明和科学声明(带有小数点或者科学计数法)
普通声明浮点数:

<?php
//声明变量f1的值为12121.3132
$f1 = 12121.3132;
echo $f1;
?>

输出结果为:

12121.3132
<?php
//声明变量$f2 的值为0.8873
$f2 = 0.8873;
var_dump($f2);
?>

输出结果为:

float(0.8873)

PHP数据类型之查看和判断数据类型

查看数据类型:

  1. gettype(传入一个变量) 能够获得变量的类型
  2. var_dump(传入一个变量) 输出变类型和值
<?php
  //声明一个变量88.8,你可以自己多做几次实验换成其他类型看看$type输出是多少
  $float = 88.8;
  $type = gettype($float);
  echo $type;
?>

输出结果为:

double
<?php
//多换几个类型试试
$str = '你喜欢尊上还是喜欢杀仟陌?';
var_dump($str);
?>

输出结果为:

string(39) "你喜欢尊上还是喜欢杀仟陌?"

判断数据类型

我们使用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 是否为函数
<?php
//is_* 系列函数有个特点,就是如果是这个类型就返回的是真。不是这个数据类型就返回的是假
//声明类型为假
$fo = false;

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

//检查未声明的变量$p是否为空,为空就执行真区间
if(is_null($p)){
    echo 'is_null 执行真区间'.PHP_EOL;
}else{
    echo 'is_null 执行假区间'.PHP_EOL;
}

//字符串类型的数值,看看执行的是真还是假
$str = '18.8';
if(is_numeric($str)){
    echo 'is_numeric 执行真区间'.PHP_EOL;
}else{
    echo 'is_numeric 执行假区间'.PHP_EOL;
}

//把sca的值换成整型、浮点、布尔和字符串试试
$sca = true;
//如果为标量,执行真区间
if(is_scalar($sca)){
    echo 'is_scalar 执行真区间'.PHP_EOL;
}else{
    echo 'is_scalar 执行假区间'.PHP_EOL;
}

//换成echo,is_int试试,为什么echo执行假区间呢?
if(is_callable('var_dump')){
    echo 'is_callable 执行真区间'.PHP_EOL;
}else{
    echo 'is_callable 执行假区间'.PHP_EOL;
}

?>

输出结果为:

is_bool 执行真区间
is_null 执行真区间
is_numeric 执行真区间
is_scalar 执行真区间
is_callable 执行真区间

5. PHP流程控制之 if else 语法

代码示例:

<?php
$t=date("H");
if ($t<"20")
{
    echo "Have a good day!";
}
else
{
    echo "Have a good night!";
}
?>

输出结果为:

Have a good day!

6. PHP算术运算

PHP自加自减

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

符号说明
$x++先赋值后加
$x- -先赋值后减
++$x先加后赋值
- -$x先减后赋值
<?php
$x = 5;
//先赋值后加:即先将$x的值赋值给$y。$x的值为5,所以将$x的值赋值给$y。$y也为5
$y = $x++;
//$x的结果输出为6,因为赋值给$y后,$x自己又把自己进行了+1操作。所以,$x的结果为6
echo $y.PHP_EOL;
echo $x;
?>

输出结果为:

5
6

PHP比较运算符

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

输出结果为:

变量x大于变量y,不成立。

PHP逻辑运算

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

符号说明
&&逻辑与
||逻辑或
逻辑非
xor逻辑异或
^同上

代码示例:

<?php

$x = true;
$y = false;
//逻辑与(并且),要求两个都为true才执行真区间,所以代码中执行假区间
if($x && $y){
    echo '$x && $y 执行了真区间'.PHP_EOL;
}else{
    echo '$x && $y 执行了假区间'.PHP_EOL;
}
//逻辑或,要求两个有一个为真执行真区间,所以代码中执行真区间
if($x || $y){
    echo '$x || $y 执行了真区间'.PHP_EOL;
}else{
    echo '$x || $y 执行了假区间'.PHP_EOL;
}
//逻辑异或,要求两个相异为true,相同为false,所以代码中执行真区间
if($x xor $y){
    echo '$x xor $y 执行了真区间'.PHP_EOL;
}else{
    echo '$x xor $y 执行了假区间'.PHP_EOL;
}
?>

输出结果为:

$x && $y 执行了假区间
$x || $y 执行了真区间
$x xor $y 执行了真区间

PHP位运算

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

输出结果为:

13
变量二进制
$x0101
$y1000
异或结果1101

异或解释:如果x,y两个值不相同,则异或结果为1。如果x,y两个值相同,异或结果为0。
由此可推1101为 x 和 x和 xy异或出来的结果,1101用二进制转10进制工具转换后的结果就为13。

PHP三元运算符和其它运算符

三元运算符,相当于是if…else结构。不过三元运算符的写法更加简洁。

代码示例:

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

输出结果为:

5

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值