(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 ...
随机推荐
- QBASIC教程
Qbasic 程序设计入门 BASIC(Beginner’s All-purpose Symbolic Instruction Code 的缩写,意为初学者通用符号指令代码)语言是在1964年由美国的 ...
- 如何将现有的项目添加到远程的git库里面!
我们经常都会遇到这样的场景,就是将本地的一个项目同步到网上远程的git库里面.最近也遇到这样的问题,发现网上很少人讲到这个问题,但是这个问题是很多程序员遇到的版本库管理的最早的拦路虎. 我的远程是ht ...
- python练习题及实现--文件处理、date日期
练习题作者:Vamei 出处:http://www.cnblogs.com/vamei http://www.cnblogs.com/vamei/archive/2012/07/19/2600135. ...
- nginx 快速查看配置文件的方法
查看nginx实际调用的配置文件 1.查看nginx路径 ps aux|grep nginx root ?? S :43上午 :00.08 nginx: worker process root ?? ...
- ssh-debian87.sh
#!/bin/bash sed -i 's/PermitRootLogin without-password/PermitRootLogin yes/g' /etc/ssh/sshd_config s ...
- web知识清单
声名随笔中的实例链接到另一个博客是我本人的另一个博客号 模块一:HTML 1.html是什么: hyperText markup language超文本标记语言 超文本:比文本更丰富的内容 所有的浏览 ...
- linux下如何修改进程优先级?
linux下的进程调度优先级是从-20到19,一共40个级别,数字越大,表示进程的优先级越低.默认时候,进程的优先级是0.查看进程优先级有两个办法:ps和top. 改变进程的优先级的方法有两种: 1, ...
- node.js开发hello world
在你的 D 盘下面创建一个 server.js,写入以下内容 ---------------------------------------------------- var http = requi ...
- [poj] 1269 [zoj] 1280 Interesting Lines || 求两直线交点
POJ原题 ZOJ原题 多组数据.每次给出四个点,前两个点确定一条直线,后两个点确定一条直线,若平行则输出"NONE",重合输出"LINE",相交输出" ...
- POJ 2942 Knights of the Round Table 补图+tarjan求点双联通分量+二分图染色+debug
题面还好,就不描述了 重点说题解: 由于仇恨关系不好处理,所以可以搞补图存不仇恨关系, 如果一个桌子上面的人能坐到一起,显然他们满足能构成一个环 所以跑点双联通分量 求点双联通分量我用的是向栈中pus ...