PHP变量、数据类型、字符串、运算符、条件语句、循环语句、数组、函数
PHP
简介:
php :是一门动态交互的计算机语言 静态交互 html css js
但凡是动态交互的 都需要服务器。
php都是以.php结尾的文件
Html文件里不能写php代码,但是php文件里可以写Html代码
PHP模板
Html该怎么写还怎么写,但是php代码写在<?php ?>里面
语法
php代码写在<?php 里面放php代码 ?>
php的注释 // /**/ 快捷键:ctrl+?
php的输出语句 echo print
变量:
变量的命名:
以$符开始
变量的标志:$
变量的规则:
1、变量以$符号开始,后面跟着变量的名称
2、变量名必须以字母或者下划线字符开始
3、变量名只能包含字母、数字、字符或下划线
4、变量名不能包含空格
5、变量名是区分大小写的
变量的赋值
使用=等号就是赋值运算,从右往左读,
$2=2,本质上来说,是存放2的数据空间的地址赋值给变量a;
变量的主要功能是基本数据类型,php会默认把地址和数据空间为一体直接赋值给变量a,
基本数据类型的赋值可以直接忽略地址,直接操作数值
如果我就想把地址赋值给变量,我们需要在再前面加上一个地址符&,他的赋值就是操作地址不再是操作值
变量的作用域
1、全局 global
函数外的都是全局作用域
2、局部 local
函数内部的都是局部作用域
变量的作用域和js作用域的区别:
js有作用域链,php没有;php中的全局作用域不能访问局部的,局部也不能访问全局的,如果需要访问需要手动操作
作用域的四个关键字:
global(全局的)、local(局部的)、static(静态的)、parameter(参数)
global:局部想要访问全局变量,在局部变量前加关键字 global
static:函数调用完毕之后,会自动消除内存,但有时我们需要函数内部的一个变量内存不被销毁,js使用闭包就可以实现了,php使用static就解决了
parameter :所有的参数作用域都是局部的
Isset() 判断变量是否设置(赋值)还回的是Boolean
php的数据类型
String、int(整形)、float、boolean、Array、Object、null
基本数据类型:String、int、float、boolean
复合数据类型:Array、Object
数据类型针对变量,php是弱类型语言,是什么类型跟你声明的时候没有关系,跟赋值的时候有关
Var_dump() 还回变量的数据类型和值
字符串:
1、并置运算
js中叫拼接,用+
php中叫并置,用 . 运算
注意:php的汉字出现乱码,我们需要在php的第一行添加
header("Content-Type: text/html;charset=utf-8");
2、strlen() 返回字符串的长度
一个字母一个字符长,一个汉字3个字符长
运算符
四则运算:+、-、*、/
赋值运算:$a+=2; 等价于$a=$a+2
自增自减:$a++、++$a、
比较运算符:
==(等于)、===(全等)、!=(不等于)、!==(绝对不等于)、>(大于)、<(小于)、>=(大于等于)、<=(小于等于)
==(等于)主要用于判断
逻辑运算:||(或)、&&(且)、!(非)
|| :有一个为true 就返回true;
&&: 都得为true 才返回true
三元运算:又称三日运算,条件?echo1:echo2
求余运算:%,
条件语句
if else
单条语句:
$name=56;
if($name<23) echo "hello world3333";
多条语句
switch
循环语句
for
while
do while
do while与while的区别:
While是先判断后执行,do while 先执行后判断
for each
for each针对关联数组的
Array(“name”=>”zhang”,”age”=>12) 这种写法我们叫关联数组
Php中没有json格式,但是对于前端来说,要json格式。
Php提供了一个方法叫 json_encode() 将数据转换成json格式
数组:
1、数组
$arr=[“zhang”,”li”] $a=array(“yuan”,”ni”)
2、关联数组
$arr=array(“name”=>”zhang”,”age”=>56)
3、多维数组
获取数组长度的方法:count()
Is_array() 判断一个变量是不是数组
函数:
php自定义函数和内置函数
使用关键字function 定义函数
function () {};fn() 函数调用的时候会开辟内存空间 里面有栈和堆 调用完毕之后这个内存就被销毁。销毁顺序是先进后出 先进去的后销毁 后进去的先销毁。
函数作用域
四个关键字 global static local parameter
Global 的变量都会存在php中一个叫$GLOBALS的数组中
函数的参数
1、参数传参
2、默认参数
如果传的有默认参数和普通参数同时传 需要注意顺序问题
3、引用传参
将变量的地址传进去,函数内部如果修改了这个地址里的值 函数外也会跟着改
在js中函数自身有一个arguments的属性,叫实参构成的数据集合
Fun_num_args() 获取实参数的个数
Fun_get_agrs() 获取实参构成的集合
还回的是一个数组
Fun_get_arg(index) 获取具体的某一个参数
递归函数
函数内部调用函数本身
PHP变量、数据类型、字符串、运算符、条件语句、循环语句、数组、函数的更多相关文章
- 9.12/ css3拓展、js基础语法、程序基本知识、数据类型、运算符表达方式、语句知识点
css3拓展: <display:none> 将某个元素隐藏 <visibility:hidden> 也是将某个元素隐藏 <display:block&g ...
- #7 Python顺序、条件、循环语句
前言 上一节讲解了Python的数据类型和运算,本节将继续深入,涉及Python的语句结构,相当于Python的语法,是以后编写程序的重要基础! 一.顺序语句 顺序语句很好理解,就是按程序的顺序逻辑编 ...
- Python 2.7 学习笔记 条件与循环语句
本文介绍下python条件和循环语句的语法 一.if条件语句 语法格式如下: if 表达式: .... elif 表达式: .... elif 表达式: .... else: ..... 说明:与其它 ...
- 【Python】-NO.99.Note.4.Python -【Python3 条件语句 循环语句】
1.0.0 Summary Tittle:[Python]-NO.99.Note.4.Python -[Python3 条件语句 循环语句] Style:Python Series:Python Si ...
- python系列八:Python3条件控制&循环语句
#!/usr/bin/python #-*-coding:gbk-*-#Python3 条件控制&循环语句import randomage = int(input("请输入你的年龄: ...
- Python中的条件和循环语句
条件和循环语句 1. 条件语句 if单用 格式:if 条件表达式 例如:if 5 > 3: print('True') >>> 'True' #当条件满足时才会执行上述操作. ...
- python实例 条件和循环语句
#! /usr/bin/python #条件和循环语句 x=int(input("Please enter an integer:")) if x<0: x=0 ...
- python学习第四讲,python基础语法之判断语句,循环语句
目录 python学习第四讲,python基础语法之判断语句,选择语句,循环语句 一丶判断语句 if 1.if 语法 2. if else 语法 3. if 进阶 if elif else 二丶运算符 ...
- python之最强王者(3)——变量,条件、循环语句
1.Python 变量类型 变量存储在内存中的值.这就意味着在创建变量时会在内存中开辟一个空间. 基于变量的数据类型,解释器会分配指定内存,并决定什么数据可以被存储在内存中. 因此,变量可以指定不同的 ...
- Javascript语法,变量类型,条件,循环语句,函数,面向对象
1.JavaScript代码革两种存在形式: <!-- 方式一 --> <script type='txt/javascript' src='/js/comment.js'>& ...
随机推荐
- 蓝桥杯Log大侠(线段树单点区间更新)
标题:Log大侠 atm参加了速算训练班,经过刻苦修炼,对以2为底的对数算得飞快,人称Log大侠. 一天,Log大侠的好友 drd 有一些整数序列需要变换,Log大侠正好施展法力... 变换的规则是: ...
- 【VS工程设置】 编译动态库,命令行添加参数,不使用预编译头,指定该项目链接 哪种 运行库
编译动态库 注意: 动态库: [目标文件扩展] => .dll + [配置类型] => 动态库(.dll) 静态库: [目标文件扩展] => .lib + [ 配置类型]=> ...
- C# 把datagridview控件上的表格输出到excel文件
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...
- RestClient(接口请求)
一.电子签章:通过接口,传入参数中有pdf文件,和其他参数,在文件上盖上电子签章. 引入:通过NuGet安装RestSharp,注意版本. 备注:如果后面程序运行有错,可以看是引用是否更改了web.c ...
- SQL 调用 webservice
webservice 需要配置为get 方式 sp_configure 'show advanced options', 1; GO RECONFIGURE; GO sp_configure 'Ole ...
- 阿里云服务器,无法通过公网ip访问实例
昨天得知阿里云esc又打折了,赶紧入手了一波,因为以前有部署过的经验,所以很快就部署上了项目,就在欣喜的访问时,却无访问. 我按照下面步骤一步一步的检测, 1.服务器上是否成功部署jdk和tomcat ...
- js中“||”和“&&”的高级用法
例1:用于赋值&&:从左往右依次判断,当当前值为true则继续,为false则返回此值(是返回未转换为布尔值时的原值哦)|| : 从左往右依次判断,当当前值为false则继续,为tru ...
- UVaLive 4254 Processor (二分+优先队列)
题意:有n个任务,每个任务有三个参数,r,d,w,表示该任务必须在[r,d]之间执行,工作量是w,处理器执行速度可以变化,当执行速度是s的时候, 一个工作量是w的任务需要需要的执行时间是w/s个工作单 ...
- Updatepanel 中使用 Timer 控件 失去焦点问题
在Update Panel 中 如果使用timer 定时刷新数据,会造成textbox 或者其他控件的焦点丢失问题. 所以 text box 不能和timer 放在同一个Updatepanel 中. ...
- Linux之常用命令简析
ls cd mkdir rmdir touch ln cp rm mv 1.ls 显示当前目录下的文件及文件夹(不显示隐藏的) -l 显示详细信息 --all 显示隐藏的文件及文件夹(就是显 ...