未看(流程控制语法)
(文件包含)

1 php语法初步

php代码标记
有多种
现在基本用  标准标记
<?php php代码 ?>

php注释

习惯:所有代码在写的过程中都必须进行注释

php中注释分为两种
行注释
 //
#
块注释(一次注释多行)
/* /*

2 php语句分隔符


(php中?>自带语句结束符;)

书写时不建议写 ?>

3 变量

变量的使用
1 变量的定义

$a=1;
$a;

2 删除变量(为了释放内存)

unset(变量名);

变量命名规则
1 $
2 名字又字母数字下划线 ,但不能以数字开头
3 php中本身还允许中文变量(不建议)

预定义变量(提前定义的变量,系统订阅的变量,储存许多需要用到的数据)
$_GET:获取所有表单以get方式提交的数据
$_post:POST提交的数据都会保存在此
$_REQUEST:GET和POST提交的数据都会保存在此
————

可变变量:$a='b';  $b='bb';则 $$a='bb';
变量传值:
1  值传递 
2 引用传递 :将变量保存的值所在的地址,传递给另一个变量(两个变量指向同一块内存空间)(两个变量是同一个值)
$a=&$b

常量
(一旦定义 一般不可改变)
定义形式
1 使用定义常量的函数:define('常量名',常量值);
2 const 常量名=值;

常量名子的命名规则
1 不用$
2 名字
3 名字通常以大写字母为主
4 名字可以使用一些特殊字符,但要用define 定义 
比如 define ('-_-', 1);

常量的使用形式
1 echo PI
2 特殊名字的常量需要用到另外一个访问常量的函数:constant('常量名');

变量可以干掉 常量干不掉

系统常量
系统帮助用户定义的常量
PHP_VERSION:php版本号
PHP_INT_SIZE:整形大小
PHP_INT_MAX:整形能表示的最大的值

魔术常量
PHP中还有一些特殊的常量,他们有双下划线开始+常量名+双下划线结束
这种常量称之为系统魔术常量:魔术常量的值会跟着环境变化,但是用户改变不了;
 __DIR__:当前得执行的脚本所在电脑的绝对路径
__FILE__:当前得执行的脚本所在电脑的绝对路径,带文件自己的名字
__LINE__:当前所属的行数
__NAMESPACE__:当前所属的命名空间
__CLASS__:当前所属的类
__METHOD__:当前所属的方法

数据类型
php的八种数据类型

A简单(基本)数据类型:4个小类
1 整型:int 4个字节 整数 
2 浮点型:float/double 8个字节 整形存不下的整数,小数
3 字符串型:string 系统根据实际长度分配  字符串(“”)('')
4 布尔类型:bool/boolen 表示布尔类型 只有两个值(true和false)

B复合数据类型:两个小类
1 对象类型:object 存放对象(面向对象)
2 数组类型:array 储存多个数据(一次性)

C特殊数据类型
1 资源类型:resource 存放资源数据(php外部数据 如资源库 文件)
2 空类型:NULL,只有一个值就是NULL(不能运算)

类型转换
1 自动转换:系统根据需求自动转换
2 强制转换:人为根据需要转换

转布尔类型(判断)和数值类型(算术运算)用的比较多

其他类型转布尔多转为true  (搜参照表)

其他按类型转数值地说明
1 布尔true为1,false为0;
2 字符串转数值有自己的规则
A 以字母为开头的字符串,永远为0
B 以数字为开头的字符串,取到碰到字符串为止(不会同时包含两个小数点)

类型判断

通过一组类型判断函数,来判断变量,最终返回这个变量所保存的数据类型(返回true或false)
:是一组以is_开头后面跟类型名字的函数:is_xxx(变量名)
bool类型不能用echo来查看,可以用var_dump结构查看

还有一组函数可以用来获取以及设定数据(变量)类型
Gettype(变量名):获取类型,得到字符串
Settype(变量名,‘类型’):设定数据类型,与强制转换(不改变原来的值)不同,会改变数据本身

整数类型
4种定义方式:10 2 8 16进制定义
$a=53;
$a=0b44;
$a=056;
$a=0x56;
php默认输出10进制

php中有进制转换的函数
(自己搜)

浮点类型
精度范围大概在15个数字左右
(整形太大会变成浮点型)

定义
$f=1.23
$f=1.12e10

尽量不要用浮点数做精确判断,计算机中小数基本都不准确

布尔类型
通常用于判断比较
两个函数
Empty():判断数据的值是否为空;
Isset():判断变量是否存在;

比较运算符:满足返回true 不满足返回false
===:左右两边大小类型都相同
!==:两边大小类型只要有一个不同就行
==和!=(大小)

逻辑运算符
逻辑与或非

逻辑与和逻辑或是短路运算:第一个条件满足后就不会进行第二个条件;

连接运算符
php中将多个字符串拼接的一种符号
.:将两个字符串连接到一起
.=:复合运算 将左边的内容与右边的内容连接起来并赋值给左边的变量

错误抑制运算符:
在可以预知但无法避免的错误前加@
@

三目运算符
表达式1?表达式2:表达式3

自操作运算符
++
--
*=

计算机码:计算机在实际储存时,采用的编码规则(二进制规则)
数值本身最左边用来充当符号位 0正 1负
原码 
反码 针对负数  符号位不变 其他位取反
补码 针对负数  反码加1

位运算:取出计算机中最小的单位(位bit)进行运算
&
|
~
^
<<
>>
系统进行任何位运算的时候都是使用的补码
运算结束之后都必须转化为原码才是最终要显示的数据

循环控制
contine 加层级(1 2 3)
break 加层级(1 2 3)

有关输出的函数
print(),返回1
print_r  类似于var_dump 但只会输出数值不输出类型

有关时间的函数
date():
time():获取当前对应的时间戳
microtime():获取微妙级别的时间
strtotime():按照规定格式的字符串转换成时间戳

有关数学的函数
max():
min():比较两个数中最小的值
rand():得到一个指定时间的随机整数
mt_rand:和rand一样 但效率更高;
round():四舍五入;
cell():向上取整;
floor():向下取整;
pow(): 
abs():绝对值
sqrt():开平方

有关函数的函数
function_exists():判断指定的函数名字在系统内存中是否存在
func_get_arg():在自定义函数中去获取指定数值对应的参数
func_get_args():在自定义函数中获取所有的参数
func_num_args():获取当前自定义函数的参数数量

文件包含
包含有4种形式
Include:
Include_once:
Requre:
Require_once:

包含的基本格式
include'文件名字';
include('文件名字');

函数

函数定义语法
关键点:function关键字,函数名,参数,函数体和返回值
基础语法
function 函数名([])
{
函数体
返回值
}

参数
形参 
实参

默认值 (函数定义时给形参赋值)
默认值的定义是放在最右边的

引用传值

基本定义语法
function 函数名(形参1,&2)
在调用的时候 必须给引用传值的参数位置传入实际参数,而且参数本身必须是变量

函数返回值
默认返回值是NULL
返回值可以是任意类型
return关键字:
返回当前函数的结果,当前函数运行结束

作用域
全局变量:函数内部不可访问  知道脚本运行结束
局部变量:函数内使用 函数执行结束
超全局变量:(预定义变量$_post)函数内外都可以访问
使用超全局变量可以让函数内访问到全局变量

全局访问局部和局部访问全局
Global关键字
如果使用globa定义的变量名在外部存在(全局变量),
那么系统在函数内部定义的变量直接指向外部全局变量所指向的内存空间
如果不存在,系统会自动在外部定义一个与局部变量同名的全局变量

本质 在函数的内部和外部的同名变量使用同一块地址保存数据

基本语法
global $ 变量名;
变量名= ;

php基础。。。。。。。相关推荐

  1. java入门 慕路径,Java入门基础知识总结学习教程大全【必看经典】

    类型的表达式,是循环条件,表达式3是党执行了一遍循环之后,修改控制循环的变量值. ??? for语句的执行过程是这样的:首先计算表达式1,完成必要的初始化工作:然后判断表达式2的值,如果表达式的值为t ...

  2. 提交表单自动刷新_Web自动化测试:元素的基础操作和浏览器基础操作

    上一节,我们了解了如何定位元素,其实也有涉及对于元素的操作,这一节我们就详细的介绍一下对于元素的操作和对于浏览器的一些操作 一.对于元素的基础操作: clear():清除输入框内的文本 send_ke ...

  3. java mybatis基础

    java mybatis基础 1.1 什么是mybatis? mybatis是一个优秀的持久层框架. 避免几乎所有的JDBC代码和手动设置参数以及获取结果集的过程. 可以使用简单的xml或者注解来配置 ...

  4. 【J2SE】学习基础

    Java基础 语法基础 OO Exception Array 基础类 I/O Stream Collection/Generic Thread TCP/UDP GUI Meta Data Regula ...

  5. 【Linux系统】基础总结

    我不太清楚运维部门具体是做什么的,就接触过一点点运维部门! 也就是是知道他们负责管理服务器,管理网络,管理项目部署 偶尔自己需要部署,不得不接触一些linux命令.简单总结一些基础 linux系统发展 ...

  6. 【Java 2 Platform Enterprise Edition】基础

    问题1:为什么java是无关平台? 你之前用C或者C++写的源代码,编译好后,换一种操作系统,可能就执行不了了.因为新的操作系统不识别,你需要修改你的源码,并在新的操作系统上重新编译才能运行,比如Wi ...

  7. SpringCloud Alibaba微服务实战(一) - 基础环境搭建

    说在前面 Spring Cloud Alibaba 致力于提供微服务开发的一站式解决方案.此项目包含开发分布式应用微服务的必需组件,方便开发者通过 Spring Cloud 编程模型轻松使用这些组件来 ...

  8. Redis概述和基础

    Redis 1.NoSQL NoSQL = Not Only SQL(不仅仅是SQL) 泛指非关系型数据库的,随着web2.0互联网的诞生!传统的关系型数据库很难对付web2.0时代!尤其是超大规模的 ...

  9. pass基础架构分析

    pass基础架构分析 Relay 和 TVM IR,包含一系列优化passes,可提高模型的性能指标,如平均推理,内存占用,或特定设备的功耗.有一套标准优化,及特定机器学习的优化,包括常量折叠,死代码 ...

  10. LLVM编译器基础架构与DragonEgg示例

    LLVM编译器基础架构与DragonEgg示例 LLVM 概述 LLVM 项目是模块化和可重用的编译器和工具链技术的集合.LLVM 与传统的虚拟机几乎没有关系."LLVM"这个名字 ...

最新文章

  1. java web 怎么实现直播_Java web后端直播接入腾讯IM聊天
  2. keras faster物体检测_URPC 2019水下目标检测竞赛冠军方案:多图像融合增强
  3. cookie自动登陆
  4. 您属于哪个版本的程序员[转]
  5. ui设计未来十年前景_UI设计的10条诫命
  6. 前端学习(1797):前端调试之html/css介绍
  7. 数据库:跨数据库,服务器数据迁移
  8. 多线多IP的服务器配置
  9. 计算机物联网工程专业考研,物联网工程专业考研方向
  10. 吉他入门教程之吉他音阶训练——练习方法
  11. (完美解决)升级win10,提示VirtualBox 立即卸载此应用,因为它与Windows 10 不兼容
  12. 排名缘何像风中摇摆的树叶一样岌岌可危
  13. 类和对象9:属性访问方法
  14. 利用VBA代码合并多个Excel表格
  15. sql 获取当前年份的12个月
  16. 建行u盾单片机可以再次使用吗_Si7021建行U盾19264液晶制作温湿度显示,实物单片机代码开源...
  17. 推荐一款可快速全量交付 Kubernetes 集群分布式应用的神器 Sealer
  18. 插值多项式的龙格现象的介绍与模拟
  19. 元芳,你怎么看?元芳是谁?
  20. 台式计算机cpu功率,如何计算主机所需的功率? ?

热门文章

  1. 宽带连接不上提示错误 691 619 怎么办?
  2. 【Paper Reading】BatchCrypt: Efficient Homomorphic Encryption for Cross-Silo Federated Learning
  3. 苹果炉石传说显示无法连接服务器,《炉石传说》无法连接到战网解决方法 无法连接请检查网络连接如何快速解决...
  4. 《C语言实战教学》:if语句和switch语句
  5. Webpack 入门;构建项目,脚手架
  6. php加音效,HTML_为你的html5网页添加音效示例,为交互添加恰当的音效,常常 - phpStudy...
  7. 微信小程序开发(3) 热门电影
  8. 网络连接(三)集线器、交换机、路由器的功能和之间的异同,路由表和交换机中的表、为啥要地址转换、包过滤是啥?
  9. open-falcon之短信报警
  10. 简单计算器 HDOJ1237 java选手