php基础语法

php基础语法

php的定界符

方式一:标准方式
 默认就是标准方式

方式二:短标记风格
默认:php是不支持短标记风格的,需要修改配置文件才能开始短标记风格
方式三:asp风格
在php7之前是支持的,现在不支持
方式四:script风格
在php7之前是支持的,现在不支持
php运行原理
我们通过地址输入相应的url地址取访问资源
资源:
   静态资源:图片 文档 视频  音频 html等等
   动态资源:php文件
(1)当我们请求静态资源时,资源会立马给我们返回给你,显示在浏览器上
(2)当我们请求动态资源时,资源会先执行加载并且进行计算,将计算结果返回
给我们,显示在浏览器上
变量
php中定义变量的方式和java中非常类似
Java中定义变量的方式:定义一个整数类型的年龄age
  int age = 20
php中定义变量 
  $age = 20;
方式 $变量名 = 变量值

注意事项:

(1)在php中变量必须以$开头,定义一个变量age,写法$age 
(2)变量首字母不能以数字开头 
(3)变量是区分大小写的,大写就大写,小写就小写
(4)变量不能使用特殊符号,>,&,<,下划线是可以使用的,变量不能出现中文
(5)见名知意  要取有含义的名字  最好是它的英文单词 
  首字母小写 如果这个变量是由多个单词组成,除了第一个单词的首字母小
  写 ,剩下单词的首字母大写
userName
以上1-4条必须遵守,不遵守,代码运行报错
5条可以不遵守,尽量遵守,因为是规范
注释
和java注释一样
单行注释
 // 单行注释
 #  当行注释

多行注释

 /*多行注释*/ 

数据类型

 一个数据有2部分组成  类型+值
  年龄18岁 类型 整数  值 18
  身高170.5 类型 小数  值 170.5
(1)PHP的数据类型和java类似的  
(2)定义变量的时候,无需指定数据类型,PHP会根据数值的类型自动进行判断
这个数据的类型

类型的查看

$age= 10;
  echo gettype($age); //查看变量的类型
  echo "<br/>";
  echo var_dump($age);//查看变量的类型和值

整数(int)

$age= 10;
  echo gettype($age); //查看变量的类型
  echo "<br/>";
  echo var_dump($age);//查看变量的类型和值

布尔类型(boolean)

布尔类型对应的值: 只有2种  true 和false
echo "-------布尔类型-------<br/>";
 $isSucess = true;
 echo gettype($isSucess);
 echo "<br/>";

浮点类型(小数)

170.5
echo "-------浮点类型-------<br/>";
$height = 170.5;
 echo gettype($height);
 echo "<br/>";
 echo var_dump($height);
2个浮点数不能比较相等
$a =0.58;
 $b =0.22;
 echo $a+$b;// 0.8
 echo "<br/>";
 if(($a+$b) == 0.8){ //不相等
 	echo "相等";
 }else{
 	echo "不相等";
 }
原因:
在java,javaScript中,2个浮点数都不能比较相等的
浮点类型涉及到精度问题:
  浮点类型 0.58 实际值 0.580000000000000001
  浮点类型 0.58 实际值 0.579999999999999999

在这里插入图片描述

字符串类型

一个人的名字: zhangsan
在java中 表示一个字符串: 是一对双引号  “zhangsan”
          表示一个字符: 一对单引号  ‘a’
在Php中不管是单引号还是双引号都表示字符串
$name="zhangsan";
 $otherName = 'zhanggousheng';
 echo gettype($name);
 echo "<br/>";
 echo gettype($otherName);
区别:
单引号: 推荐使用单引号
   单引号里面是什么,内容就是什么
   没有检查工作
   效率高
双引号: 
   如果里面包含变量,会对变量进行解析(替换成值)
   有一个检查工作:看看是否含有变量
   效率低
$age = 20;
echo "$age";
echo "<br/>";
echo '$age';

数据类型的判定

PHP给了我们很多函数用来判定数据类型 这些函数都有一个共同的特征
(1)返回值是一个布尔类型  结果  要么是true  要么是false
(2)函数名称都是以is_类型的名称
     判断是否是整数 is_int
     判断是否是布尔 is_bool
<?php
  $num = 10;
  echo var_dump(is_int($num));
  echo "<br/>";
  echo var_dump(is_string($num));
?>
is_int 判断是否是整形
is_bool 判断是否为布尔类型
is_float 判断是否为浮点类型
is_string 判断是否为字符串类型
is_array 判断是否为数组
is_object 判断是否为对象
is_null 判断是否为空
is_resource 判断是否为资源
is_numeric 判断是否为数值类型
is_callable 判断是否为函数

布尔类型的自动转换

这个自动转换我们不需要去记忆,平时在写代码的过程中尽量去避免这些问题
下面的情况是布尔值判断时自动进行类型转换
1 整形的0为假 其他的整形为真
<?php
  $num = 0;
 if($num){
   echo "true";	
 }else{
   echo "false";	
 }
?>
2 浮点0.0为假 小数点后只要有一位非0的值结果就为真
<?php
$num = 0.00000000000000;
 if($num){
   echo "true";	
 }else{
   echo "false";	
 }
?>
3 空字符串为假 只要里面有一个空格都为真
4 字符串的0也看作为假 其他的都为真
5 空数组也将其看作为假 只要里面有一个值都为真
6 空也为假(null)
7 未声明成功的资源也为假

可变变量

可以用一个变量的变量值作为另一个变量的变量名
<?php
$name ="heixinxi";
$$name = "黑信息";
echo $$name;
?>

运算符

算数运算符

+  -  *  /  %
和java中运算符有什么区别
在java中5/2 = 2
在PHP中5/2 =2.5
	<?php
$a =5;
$b =2;
echo "===========加===========<br/>";
echo $a+$b;
echo "<br/>==========减===========<br/>";
echo $a-$b;
echo "<br/>===========乘===========<br/>";
echo $a*$b;
echo "<br/>===========除===========<br/>";
echo $a/$b;
echo "<br/>===========取余===========<br/>";
echo $a%$b;
?>
案例 给定一个三位数  求它的个位+十位
+百位之和
153  3+5+1 = 9
<?php
$a = 347;
$gw = $a%10;// 3
$sw = ($a%100-$gw)/10;
$bw = ($a-$a%100)/100;
echo $gw+$bw+$sw;
?>

赋值运算符

+=:a+=b 等价于a=a+b;
-=  /=  *=  %=
关系运算符
>  <  <=  >=  ==  !=  ===   !==
==: 等于  只是比较值  不比较值的类型
!= : 不等于  只是比较值  不比较值的类型
===: 等于  只有值和值的类型都相等  结果才是相等的
!==: 不等于  只要值和值的类型之中有一个不相等的 结果就为true
<?php
$a = 0;
$b = "0";
echo var_dump($a == $b); // true
echo "<br/>";
echo var_dump($a != $b); // false
echo "<br/>";
echo var_dump($a === $b); //false
echo "<br/>";
echo var_dump($a !== $b); // true
?>

逻辑运算符

与 同时  &&  and 当&&前后的表达式的值都为true时,结果才为true,在
运算过程中 当遇到第一个表达式的值为false 后面的表达式就不会运行了
或 者  ||  or  当||前后有一个表达式的结果为true,结果就是true,遇到
第一个表达式的结果为true,后面的表达式就不执行了
非 反  !
<?php
$a = 5;
$b = 2;
$c = 10;
echo var_dump($a>$b && $a<$c);//true
echo "<br/>";
echo var_dump($a>$b || $a>$c);// true
echo "<br/>";
echo var_dump(!($a>$b)); //false
?>
and 和 or的优先级小于=
<?php
$a = 5;
$b = 2;
$c = 10;
$d = $a<$b || $a<$c;
$e = $a<$b or $a<$c;
echo var_dump($d);//true
echo "<br/>";
echo var_dump($e);//false
?>

三元运算符

语法:
  表达式?AA:BB
当表达式的结果为true时 执行AA
当表达式的结果为false时 执行BB
<?php
$a = 5;
$b = 2;
$c = $a>$b?100:1000;
echo $c;
?>
  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值