(4)PHP基本语法、变量、数据类型、运算符、流程控制
一、基本语法
1、PHP在网页里的结构
<?php
.....
?>
2、php的另一种格式(不推荐使用)
<script language="php">
,,,,,,,,,
</script>
3、php注释
//
/* */
# unix 风格
4、一条语句要用 ; 结束
<?php
echo "abc";
?>
5、PHP区分大小写
6、输出到屏幕
echo
printf
printf('今天吃了%d个鸡蛋',5)
7、查看类型、设置类型
查看类型
gettype(变量)
返回1,表示转换成功
设置类型
settype()
<?php
$sum=8;
settype($sum,'string');
echo gettype($sum);
?>
浏览器输出

8、判断变量是否存在
返回bool值
isset(var)
销毁变量
unset(var)
empty(var)
当变量为空时返回 ture(0是空和false,1是ture)
//空字符串,0,‘0’,null,空数组、空变量、空对象。都被认为是空
二、常量&变量
1、常量
固定不变的量设置为常量,常量贯穿整个脚本是自动全局的。
有效的常量名以字符或下划线开头(常量名称前面没有 $ 符号)
设置常量,请使用 define() 函数 - 它使用三个参数:
.首个参数定义常量的名称。
.第二个参数定义常量的值。
.可选的第三个参数规定常量名是否对大小写敏感。默认是 false。
<?php
define("count", "701",true);
echo COUNT;
?>
2、变量
在程序运行中,会随时发生变化的量叫做变量。
变量固定要用$开头,之后php的变量名要再用字母或下划线开头,后面跟任意数字,字母、下划线。
例:$text="abc";
PHP是门类型松散的语言,我们不必告知 PHP 变量的数据类型。 PHP 根据它的值,自动把变量转换为正确的数据类型。
例
$a=300;
现在的a是整型,之后再把1.5赋值给a
$a=1.5;
现在a变成了浮点型
3、变量的作用域
PHP 有三种不同的变量作用域:
local(局部),global(全局),static(静态)
函数之外声明的变量拥有 global 作用域,只能在函数以外进行访问。
函数内部声明的变量拥有 local 作用域,只能在函数内部进行访问。
<?php
$x=5; // 全局作用域 function myTest() {
$y=10; // 局部作用域
echo "<p>测试函数内部的变量:</p>";
echo "变量 x 是:$x";
echo "<br>";
echo "变量 y 是:$x";
} myTest(); echo "<p>测试函数之外的变量:</p>";
echo "变量 x 是:$x";
echo "<br>";
echo "变量 y 是:$x";
?>
运行结果:
在函数内部测试变量:
变量 x 是:
变量 y 是:10
在函数之外测试变量:
变量 x 是:5
变量 y 是:
如果想要在函数内部使用外部的的变量,就要在内部重新用关键字global定义变量名。
<?php
$x=5;
$y=10; function myTest() {
global $x,$y;
$y=$x+$y;
} myTest();
echo $y; // 输出 15
?>
4、static变量
static变量一般在函数内部使用,定义成static类型的变量当函数介绍时,变量的数据不会消失,再次调用时仍然能继续使用。
<?php
function myTest() {
static $x=0;
echo $x;
$x++;
}
myTest();
myTest();
myTest();
?>
结果:
0
1
2
3
4
注意:静态变量只能被初始化一次,在次才初始化会报错。静态变量的生命周期是一次页面刷新。
三、数据类型
1、整型
整型包括正整数、负整数和0
可以用三种格式规定整数:十进制、十六进制(前缀是 0x)或八进制(前缀是 0)
<?php
$x = 5985;
$x = -345; // 负数
$x = 0x8C; // 十六进制数
$x = 047; // 八进制数
?>
2、浮点型
浮点数是有小数点或指数形式的数字。(只有一种类型,不分float/double)
<?php
$x = 10.365;
$x = 2.4e3;
$x = 8E-5;
?>
3、逻辑型
只有两个值 true、flase
$x=true;
$y=false;
4、字符串
一个字符代表一个字节,可以使用单引号或双引号。
<?php
$x = "Hello world!";
$x = 'Hello world!';
?>
5、数组
<?php
$cars=array("Volvo","BMW","SAAB");
?>
以后详解
6、对象
对象是存储数据和有关如何处理数据的信息的数据类型。
在 PHP 中,必须明确地声明对象。
首先我们必须声明对象的类。对此,我们使用 class 关键词。类是包含属性和方法的结构。
然后我们在对象类中定义数据类型,然后在该类的实例中使用此数据类型:
<?php
class Car
{
var $color;
function Car($color="green") {
$this->color = $color;
}
function what_color() {
return $this->color;
}
}
?>
以后详解
7、NULL
NULL 值表示变量无值
<?php
$x=null;
?>
8、资源类型
资源类型是一种特殊的类型,常用在数据库连接、文件句柄等。
<?php
$con=mysql_conncet("localhost",“root”,“root”);
$fp = fopen("test.txt", "rw");
?>
以后详解
四、运算符号
五、流程控制
(4)PHP基本语法、变量、数据类型、运算符、流程控制的更多相关文章
- 1 —— js 语法回顾 —— 数据类型。流程控制。数组
一,数据类型 字符串 . 数值 .布尔. null . undefined . 对象 ( 数组 . 函数 function(){} . object) undefined 出现的情景 : (1)变 ...
- 《js高程》笔记总结一:基本概念(语法,数据类型,流程控制,函数)
1.ECMA 欧洲计算机制造商协会 2.";"的作用 代码后的:当压缩代码时可以用于压缩代码,有效的间隔开代码. 3.数据类型有 undefined,null,boolean,st ...
- 【Java基础】基本语法-变量与运算符
基本语法-变量与运算符 关键字和保留字 关键字定义:被 Java 语言赋予了特殊含义,用做专门用途的字符串(单词). 关键字特点:关键字中所有字母都为小写. 用于定义数据类型:class.interf ...
- JAVA 变量 数据类型 运算符 知识小结
---------------------------------------------------> JAVA 变量 数据类型 运算符 知识小结 <------------------ ...
- Go语言 数据类型,流程控制
Go语言 数据类型,流程控制 人生苦短,Let's Go ! package main // 必须要有一个main包 import "fmt" func main() { fmt. ...
- C#基础课程之二变量常量及流程控制
课堂练习:.一个四位整数 输出它的千位,百位,十位,个位 数字. ; ; % ; % ; ; Console.WriteLine("千位数" + b+" 百位数" ...
- java基础语法2-运算符与流程控制
关键字-标识符-常量和变量-运算符-流程控制-方法-数组 5 运算符 算术运算符Arithmetic Operators 赋值运算符Assignment Operators 比较运算符Compare ...
- python - 用户交互/数据类型/格式化输出/运算符/流程控制单双多分支
python:用户交互: 等用户输入,做反应: username=input("username:")password=input("password:")pr ...
- Go语言入门(二)Go语言中的变量、常量、数据类型、流程控制以及函数
Go语言中的变量 通常用var关键声明变量,有常规方式和简化方式. 常规方式: var name1 type1 name1 = value1 //赋值 简化方式: var name2 = value1 ...
- python基础(输出、变量、常量、数据类型、流程控制)
输出 print print("Hello World!") # python2 和 python3 的区别 # python2 # coding:utf-8 print 123 ...
随机推荐
- js实现类bootstrap模态框动画
在pc端开发,模态框是一个很常用的插件,之前一直用的第三方插件,比如bootstrap,jQuery的模态框插件,最近还用了elementUI的.但是会发现其实动画效果都差不多,那么如何去实现这样一个 ...
- hp raid json
hp机器均已在装OS之前划好raid,统一规格为2*480G SSD, 12*4T SATA ,2*1.6T SSD,其中2*480G SSD做系统盘,划分raid1 已知disk controlle ...
- 【志银】NYOJ《题目529》flip
题目:flip 题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=529 吐槽Time: 由于此题槽点太多,所以没忍住... 看到这题通过率出 ...
- STL之priority_queue使用简介
优先队列容器也是一种从一端入队,另一端出对的队列.不同于一般队列的是,队列中最大的元素总是位于队首位置,因此,元素的出对并非按照先进先出的要求,将最先入队的元素出对,而是将当前队列中的最大元素出对. ...
- JavaWeb笔记(三)HTTP
常见请求头 User-Agent:浏览器版本信息,可以解决浏览器兼容性问题 Referer:请求来源地址,可以防盗链和统计 Request 方法 获取请求方式: String getMethod() ...
- springmvc maven搭建二之springmvc的security
上一篇文档初步搭建了一个springmvc的web工程,现在要来实现第二步咯.将登录校验整合到项目中,我用的是spring 3.0.2的版本,所以这里的登录用了security来处理.不多说,上代码. ...
- [THUWC2017][bzoj5020] 在美妙的数学王国中畅游 [LCT+泰勒展开]
题面 LOJ传送门 思路 这里很重要 它提示我们,把给定的三个函数泰勒展开,并用LCT维护每一项泰勒展开式的值,维护十几项就满足了题目的精度要求 我们考虑一个函数在0位置的泰勒展开 $f(x)=\su ...
- Spring bean 创建过程源码解析
在上一篇文件 Spring 中 bean 注册的源码解析 中分析了 Spring 中 bean 的注册过程,就是把配置文件中配置的 bean 的信息加载到内存中,以 BeanDefinition 对象 ...
- [poj] 1375 Interval || 圆的切线&和直线的交点
原题 每组数据给出一些圆(障碍物)的圆心和半径,一个点和一条线段,求站在这个点,能开到的线段的部分的左端点和右端点.没有则输出"No View" 相当于求过该点的圆的两条切线,切线 ...
- 用$("...").attr("checked", true)设置勾选无效的原因
如下图所示,本来想要实现如下图所示的功能,于是我本来是使用$("...").attr("checked", true/false)来实现该功能,但是第一次点击时 ...