基础语法

PHP.jpg

变量

  • 变量:它是内存中用于临时存储数据的一个空间,这个空间的名字就是变量
    • 变量名必须区分大小写,其余函数名,方法名,类名都不区分大小写
    • 变量以$开头 只能包含字母数字下划线,只能以字母,下划线开头
// <?php?> 是php的语法标签格式
<?php
$v1 = 1;
$v2 = 2;
$result = $v1 + $v2;
// echo 是返回值
echo $result ;
//删除变量
// $v3 = 3;
unset($v3);
?>
  • 可变变量
//可变变量

$v = "age";
$age = 20;
//此时 $v 被解析成 age
echo $v,"<br/>";

//$v被解析成 age 编程 $age 被解析成20
echo $$v,"<br/>"
  • 预定义变量
$_GET       用于表单提交 get方式提交
$_POST     用于表单提交 post方式提交的数据
$_REQUEST 用于接受get方式提交,post方式提交的数据
$_SERVER    记录服务端和客户端的相关信息
$_COOKIE    一种会话技术
$_SESSION   一种会话技术
$_FILES          用于记录用户上传的文件
$GLOBALS    用于记录全局变量

//内存原理
1.栈区: 保存的是变量名,引用,读取速度快
2.堆区:复杂数据存储存储,比如:数组,对象
3.数据段:简单数据:整形,浮点型,布尔
4.代码段:存储的是源代码的对应的机器指令
5.输出缓存:只要遇到输出命令: echo,print输出的数据 先寸放 在 输出缓存中

image.png
  • 执行过程


    image.png
  • 传值
    • 赋值传值
<?php
//1.赋值传值
$v1 = 10;
$v2 = $v1;

echo $v1;
>
  • 引用传值
<?php

//2.引用传值
$v3 = 10;
//$v4引用的是$v3的地址 
$v4 = &$v3;
$v4 = 20;
echo $v3;
?>

常量

  • 定义之后不允许修改,也不允许删除
//语法1
// define("常量名","常量值");  可以在分支结构语句中
define("gg","70");
echo gg;

//语法2 用 const声明常量。不可以在分支结构语句中

const ll = 99;
echo ll;

//获取所有的常量
$result =  get_defined_constants();
print_r($result);

  • 魔术常量
<?php
__FILE__  用于获取当前文件完整的路径和文件名
__DIR__  用于获取当前文件的路径
__LINE__  用于获取当前代码的行数
__FUNCTION__ 用于获取当前函数的函数名
__METHOD__ 用于获取当前方法的方法名
__CLASS__ 用于获取当前类的类名
__NAMESPACE__ 用于获取当前空间的空间名


?>

数据类型

标量数据类型

int整形
float浮点型
string 字符串行
boolen 布尔

  • 字符函数

    • trim() 去空格
    • strlen() 获取字符串的长度,但是不能正确处理中文字符串
    • mb_strlen() 获取字符串的长度,能正确处理中文字符串
  • 其中在字符串中会遇到一些特殊的符号,我们需要用到转义符

\’  单引号
\"   双引号
\t tab符
\r 回车符
\n 换行符
\\  \
\$  $
复合数据类型

数组 类型
对象 类型

特殊的数据类型

null
resource 资源类型

  • var_dunp()函数可以输出数据类型和数据值

var_dump(false); 结果是:bool(false)

数据类型的转换和判断
  • 当参与运算的2个数据类型不同失败,php会自动进行转换
$num = 100;
$num1 = "100yuan";
echo $num * $num1;

  • 强制转换
(float)变量  转换为浮点型
(array)变量   转换数组
(object)变量  转换为对象
(string)变量  转换为浮字符串
(boolean)变量  转换为布尔
  • 数据类型的判断
<?php
//判断是不是 int float strong bool类型
is_int()
is_float()
is_string()
is_bool()
// 判断是不是标量的数据 类型(就是上面的4中类型 int,float,string,bool)
is_scalar() 
//判断对象 数组类型
is_object()
is_array()

//判断null 和 资源类型
is_null()
is_resource()
//用于判断变量是否设置值
isset()
//判断变量是为空
//此处的空等效于返回布尔false的值都被empty认为是空
//如果是空 返回true
empty()

?>

流程控制

  • 顺序结构
  • 分支结构
  • if分支

if (condition) {
    # code...
}else {
    # code...
}

  • 多分支
switch ($variable) {
    case 'value':
        # code...
        break;
    
    default:
        # code...
        break;
}
  • 循环
  • for
  • while
文件引入
  • require

  • require(文件名)

  • require_once(文件名)

  • include

  • include(文件名)

  • include_once(文件名)

区别:include在引入文件时,如果引入的文件不存在则会报错,但程序还会继续向下执行
require 在引入文件时,如果引入的文件不存在则会报错,会终端程序的执行
include_once,require_once每次引入文件时,都会检查索要引入的文件之前有没有被引入过,如果有引入过就不会再引入

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容