(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 ...
随机推荐
- Git从入门到熟练
Git的特性 1. 分布式版本控制 集中式VS分布式 保存更新时的文件快照而非差异 (快照 :是文件系统中的概念或者技术:来自照相领域的概念,是指特定时间点的一个状态) 其他系统在每个版本中记录着各个 ...
- 《Cracking the Coding Interview》——第17章:普通题——题目5
2014-04-28 22:44 题目:猜数字游戏.四个数字,每个都是0~9之间.你每猜一次,我都告诉你,有多少个位置和数字都对(全对),有多少个位置错数字对(半对).比如“6309”,你猜“3701 ...
- 【Gradient Boosted Decision Tree】林轩田机器学习技术
GBDT之前实习的时候就听说应用很广,现在终于有机会系统的了解一下. 首先对比上节课讲的Random Forest模型,引出AdaBoost-DTree(D) AdaBoost-DTree可以类比Ad ...
- CocosCreator设置模拟器默认横竖屏以及机型
之前好好的横屏,今天不知道为毛突然变成竖屏了,虽然可以在点击模拟器左上角进行设置, 但是 每次启动模拟器又变成竖屏了,折腾了很久,终于找到了设置的地方,记录下:
- Git上手:Git扫盲区
Git 自述Git 是由伟大的电脑程序员Linus Torvalds编写的一个开源的,分布式的版本控制系统软件. Git 核心原理Git 利用底层数据结构,通过指向索引对象的可变指针,保存文件快照. ...
- 《移动App性能评测与优化》读书笔记
第一章:内存 内存的主要组成索引: Native Heap:Native代码分配的内存,虚拟机和Android框架本身也会分配 Dalvik Heap:Java代码分配的对象 Dalvik Oth ...
- centos6安装openfire(mysql)
一.安装JDK 我的系统是centos6.8x64,首先安装jdk1.7.0 二.安装openfire 我装的包是:openfire-3.9.3-1.i386.rpm,复制到/opt目录 #rpm - ...
- vue常用片段
事件处理 基本骨架 子组件 axios v-if v-for 路由 设置style 计算属性 动态class 路由跳转 store nextTick 事件处理: 直接写表达式: @click=&q ...
- hp raid json
hp机器均已在装OS之前划好raid,统一规格为2*480G SSD, 12*4T SATA ,2*1.6T SSD,其中2*480G SSD做系统盘,划分raid1 已知disk controlle ...
- 一个符号冲突导致的core分析
问题描述: 修改跟踪程序(Trace)支持IPV6时,发现程序启动后正常,但是客户端一旦下发查询条件进行跟踪,Trace程序就直接coredump! (gdb) bt # 0x00007f7dab9e ...