PHP基础知识(一)

一、PHP基本语法

1.php语法风格

4种php标记:

标记类型开始标记结束标记
标准标记<?php?>
短标记<??>
ASP标记<%%>
script标记< script language=“php”>< /scirpt>

2.php标识符和关键字

  • 标识符:数字、字母、下划线,不能数字开始

  • 关键字:

        and  $argc  $argv  as  break   case   cfunction  class 
        continue declare default  die  do  E_ALL  echo E-ERROE 
        else  elseif  empty enddeclare  endfor  endforeach  endif  
        endswitch  E_PAESE eval  E-WARNING  exit  extends  
        FALSE for  foreach  function    $HTTP_COOKIE_VARS 
        $HTTP_ENV_VARS    $HTTP_GET_VARS  
        $HTTP_POST_FILES    $HTTP_POST_VARS  
        $HTTP_SERVER_VARS 
        if include  include_once  global  list  new  not  NULL  
        old_function  or  parent PHP_OS  $PHP_SELF  PHP_VERSION 
        print  require require_once  return  static  stdClass  
        switch   $this  TRUE  var  rivtual  while xor    _FILE_ 
        LINE    _sleep  _wakeup   
        $_COOKIE  $_ENV    $_FILES  $_GET   $_POST $SERVER
    

3.php常量

  • 定义常量语句:define ( string name ,$value ,true/false)
  • 第一二个参数代表名字和值,必填属性
  • 第三个参数代表是否大小写敏感,true代表不敏感,false代表敏感

php预定义好了的常量:都是数组

常量名常量的作用
$_GET获取所有表单以get方式提交的数据
$_POSTPOST提交的数据都会保存在此
$_REQUESTGET和POST提交的都会保存
$GLOBALSPHP中所有的全局变量
$_SERVER服务器信息
$_SESSIONsession会话数据
$_COOKIEcookie会话数据
$_ENV环境信息
$_FILES用户上传的文件信息

4.php变量

4.1.变量的定义与赋值

  • 定义变量语句:$变量名
  • php是弱类型,不需要指定变量数据类型,一般赋值变量和定义变量同时进行
  • =是值的传递
  • =&是引用传递,指向同一个内存地址,值会一起改变

4.2.数据类型

数据类型表示
整型int/integer
浮点型float/double,表示小数或者整型存不下的整数
字符串型string(双引号)
布尔类型bool/boolean,只有两个值:true和false
对象类型object,存放对象(面向对象)
数组类型array
资源类型resource,存放资源数据(PHP外部数据,如数据库、文件)
空类型NULL,只有一个值就是NULL(不能运算)

4.3.检测变量的数据类型

  • 语句:is_数据类型 ($变量名)
  • 例:is_int($a)
  • a是否是int类型,是返回1(true),否返回0(false)

4.4.可变变量

  • 一个变量保存的值刚好是另外一个变量的名字,那么可以直接通过访问一个变量得到另外一个变量的值
  • 在变量前面再多加一个$符号
$a='b'
$b='c'
echo $$a

5.变量类型的转换

5.1.自动类型转换

  • 字符串型转换成整形:字母开头等于零,数字开头,一直到非数字截止
  • 其他类型转换为字符串型:以.和字符串为连接的时候
$b=77777
$c=$b."cleverlove".$b
var_dump($c)

5.2.强制类型转换

  • 语句:(类型名)$变量名

5.3.设定类型转换

  • 语句:Settype($变量名,类型)
  • 强制类型转换不会处理实际存储的内容,settype会直接改变数据本身

6.php运算符

运算符描述
%取余(模)运算,两个数(整数)相除,保留余数,如果被除数(%前面那个)是复数结果也是复数
&&逻辑与,左边的条件与右边的条件同时成立(两边结果都为true)
||逻辑或,左边的条件或者右边的条件只要有一个满足即可
!逻辑非,对已有条件进行取反,本身为true,取反结果就是false
xor逻辑异或
.拼接运算符
.=拼接运算符赋值,类似于py中字符串之间的+=
++,--递增递减
@错误抑制符:在可能出错的表达式前面使用@符号即可
===全等于,左边与右边相同:大小以及数据的类型都要相同
!==不全等于,只有大小或者类型不同
表达式1 ? 表达式2 :表达式3三目运算符,1正确执行2,1错误执行3
&按位与,两个位都为1,结果为1,否则为0
|按位或,两个有一个为1,结果为1
~按位非,一个位如果为1则变成0,否则反之
^按位异或,两个相同则为0,不同则为1
<<按位左移,整个位(32位),向左移动一位,右边补0
>>按位右移,整个位向右移动一位,左边补符号位对应内容(正数补0,负数补1)

7.流程控制语句

if
else if
else
switch
switch else
while
do while
for
break
continue

都是C、JAVA语言类型的格式

二、函数

1.函数

  • 函数的的定义:function 函数名(){}
  • 不需要给定函数的返回类型
  • 函数名不区分大小写

2.函数的高级应用

  • $GLOBALS [ “变量名”] 获取函数外的全局变量
  • 可变函数:可以使用一个变量名为一个函数的变量来使用这个函/数,类似于可变变量

3.函数的递归

就是C语言
在这里插入图片描述

4.字符串相关函数

函数名描述
explode(a,b,c)返回以a分割字符串b得到的数组,c是返回字符串的个数
implode(a,b)返回以a连接数组b里的元素组成的字符串,是explode的反函数
strcmp(a,b)比较字符串,相等返回0,a大于b返回1,a小于b返回-1
str_replace(a,b,c,d)返回用a替换字符串c里的b的新字符串,d是替换次数,可以用来外部调用
substr(a,b,c)返回从b位置开始截取的字符串a的子串。c代表截取字符个数
strlen(a)返回字符串a的长度
trim(a,b)返回删除字符串首尾两端的空白字符,或者指定字符b后的字符串

在这里插入图片描述

5.日期和时间管理

  • mktime($hour, $minute, $second, $month, $day, $year)函数返回指定时间的时间戳,若无指定值,则使用当前时间
  • time(void)函数返回系统当前时间
  • date_default_timezone_set(“Asia/Shanghai”);设置时区为上海时区
  • strtotime(String) 获取用户提交的时间(将时间先转换为字符串,然后再用strtotime处理)
  • microtime()函数获取精确时间
  • date()函数格式化输出时间

三、数组

1.数组

1.1.数组的定义

  • 不需要事先声明,不需要指定数组的大小
  • 直接赋值定义:索引数组赋值和关联数组赋值(键值对)
  • array()函数定义数组:由于合法的整形值的字符串下标会被类型转换为整形下标,所以在创建数组的时候,若转换后数组存在相同的下标,后面的元素会覆盖前面的元素。
<?php
$arr = array(123,"hello",45.6,true);
var_dump($arr);
echo "<hr>";
$arr1 = array("id"=>1,"name"=>"Sunlight","address"=>"北
京","email"=>"han@tom.com");
var_dump($arr1);
 ?>

在这里插入图片描述1.2.数组的使用

  • $数组名 [键] 或 $数组名 {键}
  • <pre></pre>标签用于格式化输出数组
  • 数组是动态的,可以随意添加元素,随意删除元素,元素的类型也可以是任意的
  • unset($arr[1]) 删除arr数组中的第二个元素,或者直接删除整个数组

1.3.数组操作符

运算符含义示例
+联合$a + $b:合并数组a和数组b,若重复,则保留 $a 即前面的那个
==相等$a == $b:a和b有相同的键值对,则为true
===全等$a === $b:a和b有相同的键值对并且顺序和类型都相同,则为true
!=、<>不等$a != $b: $a不等于 $b 则为true
!==不全等$a !== $b: $a不全等于 $b 则为true

2.数组的常见操作

2.1.数组指针

函数名作用
currrent($arr)返回数组中当前元素的值
key($arr)返回当前元素的下标(键名)
next($arr)将数组的内部指针向前移动一位
prev()将数组的内部指针倒回一位
end()将数组的指针指向最后一个元素
reset()重置指针,将数组的指针指向第一个元素

2.2.数组遍历

  • foreach($arr as $value){ 循环体 } 没有键的遍历
  • foreach($arr as $key => $value){ 循环体 } 键值对遍历
  • 遍历时,$key和 $value只不过是一个变量名,可以是i可以是任何其他标识符
  • $key和 $value都是值传递,不是引用传递
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值