主要内容:

  1. 二进制
  2. 数据类型
  3. 变量
  4. 常量
  5. 赋值
  6. 语句结构
  7. 函数

网站的核心功能是展现信息,文字,图片,视频,音频,对于计算机来说都是数据,这些数据按照二进制进行存储。

二进制

就是1100,0100,1010这样的数据就是二进制数,二进制数分为有符号数、无符号数。原码,反码,补码是有符号数才有的表示方法。

对于正数:原码=反码=补码

原码:0100,0100,1010
反码:0100,0100,1010
补码:0100,0100,1010

对于负数:原码!=反码,反码+1=补码

原码:1100,0100,1010
反码:1011,1011,0101
补码:1011,1011,0110

数据类型

整数(10112),浮点数(12.34),字符串("cat"/‘cat’)

变量

使用$符号申明变量,以英文字母或者_(下划线)开头,后面可是是英文字母,数字,下划线,比如$score,$mark,$name,$Password

php预定义变量:

  • $GLOBALS(当前程序中全局变量)
  • $SERVER(全局变量,包含头信息,脚本位置的数组)
  • $_COOKIE(通过http的cookie方法提交到脚本的变量)

$_SERVER常见的$_SERVER的元素包括:

  • PHP_SELF(当前正在执行的脚本的文件名)
  • SERVER_ADD(当前执行脚本所在服务器ip)
  • DOCUMENT_ROOT(当前脚本所在文档根目录)
  • SCRIPT_FILENAME(当前执行脚本绝对路径)

demo2.php

<?php$a="this is test!";echo "通过\$GLOBALS来获取变量值:";echo $GLOBALS['a']."<br/>";echo "当前执行脚本的文件名:";echo $_SERVER['PHP_SELF']."<br/>";echo "当前执行脚本的跟目录:";echo $_SERVER['DOCUMENT_ROOT']."<br/>";echo "当前执行脚本的绝对路径:";echo $_SERVER['SCRIPT_FILENAME']."<br/>";?>

启动xampp的控制面板,运行Apache,绿色说明是正常运行

将文件拷贝的xampp的htdocs下

打开浏览器输入:http://localhost/demo2.php

常量

const name=value;

比如:const MONEY_RATE=0.5;

常用预定义常量

  • __FILE__(放回当前文件名称,注意下划线是两个)
  • __LINE__(返回当前代码所在行号,注意下划线是两个)
  • __FUNCTION__(返回所在函数的名称,注意下划线是两个)
  • __CLASS__(返回所在的类名,注意下划线是两个)
  • PHP_OS(返回操作系统名称)
  • TRUE(布尔值,真)
  • FALSE(布尔值,假)
  • NULL(空值)

demo3.php

<?php  echo "当前文件所在位置:".__FILE__."<br/>";echo "当前操作系统是:".PHP_OS;?>

赋值

赋值最基本的运算

demo4.php

<?php$a="this is test!";//申明变量,并赋值$b;$b='this is test!';//先申明变量,后赋值$c=$a;//使用一个变量给另一个变量赋值ECHO $a."<br/>";echo $b."<br/>";echo $c."<br/>";?>

输出:

字符串单引号和双引号

单引号的变量做字符串处理,双引号变量会解析出来

demo5.php

<?php$a="this is test!";   $b=10;echo '$a'.'<br/>'.'$b'."<br/>";echo "$a".'<br/>'."$b"."<br/>";?>

输出

语句结构

PHP语句通常是表达式组成,语句;(英文分号)结尾,不加会报错。

条件构成

关系运算:>(大于),<(小于),==(等于),===(全等于,包括类型),<>或!=(不等于),!==(非全等于,左右操作数数值或者类型不相等,返回真)

逻辑运算

  • and/&&/&(逻辑与true&true==>true)
  • or/||/|(逻辑或false||false==>false)
  • not/!(逻辑非!true==>false)
  • xor/^(逻辑异或,true^false==>true ,false^true==>true,false^false==>false)

逻辑与(&&)的短路原则:

  • exp1&&exp2,如果exp1为false,则exp2不执行,直接返回false

分支结构

  • if语句
  • if-else语句
  • if-elseif-else语句
  • switch语句

demo6.php

<?php$a=5;   $b=10;if($a>$b){echo '$a大于$b';}else{echo '$a小于$b';}?>

输出$a小于$b

循环结构

while语句

do-while语句

for语句

demo7.php

<?php//for循环for($i=0;$i<10;$i++){echo 'good! ';}?>

输出good! good! good! good! good! good! good! good! good! good!

函数

PHP的函数很好用,不用申明返回数据的类型(当然这是优点也是缺点,不过我认为还是优点,减少了代码量啊,有没有!而且还不用想破头到底应该返回什么类型数据,而且PHP的输出支持链式调用,太方便了啊!)

函数把一个完整的功能多条语句封装成一个模块,函数使用function来申明

demo8.php

<?php//输出n次变量afunction printString($a,$n){//for循环for($i=0;$i<$n;$i++){echo "$a";}}//调用函数printString("good! ",5);printString("<br/>",2);printString("apple and pear! ",1);?>

输出

这个时候的函数参数为值传递,就是一个copy,在函数内部改变这个值不会影响到外部的变量的值,但是如果我们想要在函数内部改变外部的值,需要引用传递,将参数的引用路径地址&a传入

demo.9.php

<?php//交换$a,$b位置function swap(&$a,&$b){echo "交换前:".'$a='.$a.'$b='.$b;echo '<br/>';$temp=$a;$a=$b;$b=$temp;  echo "交换后:".'$a='.$a.'$b='.$b;       }$a=5;$b=9;//调用swap($a,$b)?>

输出

交换前:$a=5$b=9
交换后:$a=9$b=5

全局变量

函数中不能直接使用全局变量,如果需要在函数中使用申明的全局变量,需要加前缀global

<?php$a=100;//输出全局变量afunction gbl(){global $a;echo $a; }//调用gbl();
?>

输出

100

静态变量

函数外不能直接使用函数内部的变量,如果需要在函数外使用申明的函数中的变量,函数中变量需要加前缀static

<?php//输出静态变量afunction stc(){static $a=0;$a++;echo $a.',';   }//调用stc();stc();stc();stc();stc();
?>

输出

1,2,3,4,5,

返回值

PHP的函数不用声明返回值类型,真方便!

<?php//返回字符型function reutrnString(){return "today is sunday.";}//返回数字function returnNum(){return 1024;}//调用$a=reutrnString();echo "\$a=$a"."<br/>";$a=returnNum();echo "\$a=$a";?>

输出

$a=today is sunday.
$a=1024

函数引用返回

需要在申明函数的时候,在函数前面在&(取地址符号)

(这个有点变态,直接操作引用地址,用起来出错了怎么搞)

<?php//返回数字function &returnNum(){static $b=0;$b=$b+1;echo $b.'<br/>';return $b;}//调用$a=returnNum();//使用&$a=&returnNum();$a=1000;$a=returnNum();?>

输出

1
2
1001

可变函数

需要在调用函数的时候在前面加$(申明变量符号),调用同一个函数,但是却执行的是不一样的代码,

这个技术太牛逼!要是可以在配置文件中对变量进行修改,那么就可以动态的决定要执行那个函数,根据需求动态的修改程序,牛!!!

(这个更加变态,不说了,看代码)

<?php//返回字符型function reutrnString(){echo "today is sunday.<br/>";}//返回数字function returnNum(){echo 1024;}function hello(){echo '你好';}//调用$func='reutrnString';$func();$func='returnNum';$func();$func='hello';$func();?>

输出

today is sunday.
1024你好

递归函数

就是函数自己调用自己,没有什么好说的,在一些算法中为了简化可能会用到,但是递归调用的代码执行效率极低,不建议使用

<?php//递归function add(){static $a=0;$a++;echo '$a='.$a.",";if($a>10){return;}//调用自己,直到满足条件add();}add();?>

输出

$a=1,$a=2,$a=3,$a=4,$a=5,$a=6,$a=7,$a=8,$a=9,$a=10,$a=11,

系统函数

就是PHP将一些常用的函数封装好了,不用自己写了,看看API直接使用就行了。

<?php//返回最大值$a=max(1,22,34,777,3,55);echo "1,22,34,777,3,55中最大的数是:".$a;
?>

输出

1,22,34,777,3,55中最大的数是:777

  

PHP学习2——基本语法相关推荐

  1. python基础语法及知识总结-Python 学习完基础语法知识后,如何进一步提高?

    ---4.30更新---感谢大家支持,点赞都破两千了.给大家整理出来新的资料,需要的小伙伴来自取: Python练手项目视频如下: Python自学基础知识如下: 以下为原文内容: Python 学习 ...

  2. idea编译的文件怎么用cmd打开_JAVA学习册|基础语法|cmd输出HelloWorld

    看到这个标题,估计已经有小伙伴知识本文要讲什么了,好,下面我们就开始正文 学java最开始的地方 很多老师的书和视频中,在安装完jdk,配置好环境变量,都会带大家用记事本写一个HelloWorld,然 ...

  3. 学习webpack4 - ES6语法转化

    学习webpack4 - 基础配置 学习webpack4 - HTML处理 学习webpack4 - 样式处理 学习webpack4 - ES6语法转化 学习webpack4 - 第三方库的使用 学习 ...

  4. python学习三-基础语法

    python学习三-基础语法(2019-12-24日晚) 1.源码文件 Python源码文件名通常采用小写的方式,常见的扩展名有: py:基本的源码扩展名. pyw:是另一种源码扩展名,跟py唯一的区 ...

  5. 掉进悬崖的小白,捡到python基础秘籍,学习第一周——语法基础,小游戏,无脑循环

    掉进悬崖的小白,捡到python基础秘籍,学习第一周--语法基础,小游戏,无脑循环 人生苦短,我用python 语言的种类: 语言的发展: 什么是python 搭建 Python开发环境: 集成开发环 ...

  6. Postgresql学习笔记-高级语法篇

    Postgresql学习笔记-高级语法篇 Postgresql 约束 Postgresql约束用于规定表中的数据规则. 如果存在违反约束的数据行为,行为会被约束终止. 约束可以在创建表的时候就规定(通 ...

  7. python lxml xpath_Python的lxml库学习之XPATH语法

    原标题:Python的lxml库学习之XPATH语法 预备阅读: 前言 前面已经学习了Python的lxml库,从库的名称来看,lxml包含了xml,所以lxml同样可以解析XML文档,而lxml使用 ...

  8. php札记,#php学习札记#基本语法

    #php学习笔记#--基本语法 一.从HTML中分离 ? ? ? ? 当 PHP 解析一个文件时,会寻找开始和结束标记,标记告诉 PHP 开始和停止解释其中的代码.此种方式的解析可以 ? ?使 PHP ...

  9. Win32汇编学习——windows汇编语法(小甲鱼教程)

    Win32汇编学习--windows汇编语法(小甲鱼教程) 1)指令集 .386 语句是汇编语句的伪指令,类似指令有:.8086 . .186  ..286  ..386/.386p  . .486/ ...

  10. ROS学习:URDF语法详解一link篇

    ROS学习:URDF语法详解一link篇 1.概述 1.1 URDF语法详解_robot 1.2 URDF语法详解_link 1.2.3.案例需求:分别生成长方体.圆柱与球体的机器人部件 1.概述 参 ...

最新文章

  1. Unity 2017 Game Optimization 读书笔记 Dynamic Graphics(1)
  2. 面试--跨域--cors
  3. 用java程序实现记单词_java实现背单词程序
  4. ACKRec:注意力异构图卷积深度知识推荐器 SIGIR 2020
  5. 【Hololens】微软Hololens虚拟现实视频集
  6. java中介者模式例子_Java中介者模式(Mediator Pattern)
  7. WEB前端 盒子模型稳定性
  8. 生产排程系统_MES环境下如何执行智能生产排程
  9. 牛听听 总是获取音频流出错_又开学了!是时候提醒孩子背诵小学英语必背单词(含音频)...
  10. 南京装修公司排名十大口碑排行榜(教你如何选择)
  11. win10插入耳机还是外放
  12. 怎样避免每次运行都启用宏的麻烦
  13. tof摄像头手势识别_全面解析深度摄像头(TOF Camera)的原理
  14. matlab 矩阵的数组平方和,MATLAB中的矩阵和数组
  15. 【MMML】多模态机器学习高被引综述论文笔记
  16. 国科大五位本科生带“芯”毕业!平均年龄23.1岁,四个月主导完成64位RISC-V处理器SoC芯片设计并实现流片
  17. Everything工具设置书签
  18. 刷新浏览器后不进行任何点击操作时,不播放声音 | 解决方案(VUE-Element)
  19. table表头和首列的表格固定-CSS实现的Table表头固定
  20. java 练习7 生成句子

热门文章

  1. Kotlin——初级篇(六):空类型、空安全、非空断言、类型转换等特性总结
  2. android studio gradle 配置
  3. JavaEE 要懂的小事:二、图解 Cookie(小甜饼)
  4. [备忘]silverlight中关于“复制到输出目录”和“生成操作”
  5. php 百度收录api_php使用百度翻译api示例分享
  6. python 多级菜单_python多级菜单
  7. 陈桥五笔用户编号获取_用户群组分析
  8. 【Android 安装包优化】资源混淆 ( resources.arsc 资源映射表混淆 | resources.arsc 资源映射表二进制格式分析 | 混淆全局字符串池和资源名称字符串池 )
  9. 【鸿蒙 HarmonyOS】HarmonyOS 开发环境搭建 ( Node.js 安装 )
  10. 【组合数学】递推方程 ( 非齐次部分是 指数函数 且 底是特征根 | 求特解示例 )