跟随我在oracle学习php(22)

$_POST变量(数组)

类似$_GET变量(数组),$_POST代表页面通过post方式提交过来的数据所形成的数组。

post提交数据,通常只有一种形式:

<form  action=”abc.php”  method=”post” >

项目1<input type=”text”   name=”uName”   />

项目2<input type=”password”   name=”uPswd”   />

<input type=”submit”  value=”提交”  />

</form>

其作用是:用户填写表单数据,并提交后,会将数据发送(提交)给页面abc.php,其实也可以理解为“打开”该网页(abc.php),还可以理解为“请求”该网页(abc.php)

接收post数据的形式为:

(在abc.php网页中)

<?php

$v1 = $_POST[‘uName’]; //单引号也可以用双引号,本质是一个字符串,其实是数组的键名(下标)

$v2 = $_POST[‘uPswd’]; //该键名必须跟提交的时候的名字完全一致(区分大小写)

 

也可以显示所有post数据:

var_dump($_POST)

?>

 

通常,网页中的form表单,一般都用post方式,get方式主要体现在其他3种形式。

 

小案例:

设计一个页面,可以对2个数据进行基本算术运算(+-*/),使用post方式

 

$db = new MySQLi('localhost','root','root','z_0222');
!mysqli_connect_error() or die('数据库连接失败');
$db->query('set names utf8');

$sql = "";
$res = $db->query($sql); //怎删改 返回true false
$arr = $res->fetch_all(); //查询返回结果集 通过这一行转成数组

 

 

 

常量(配置)  pwd = 123

含义:用于存储一个不会变化也不希望变化的数据的标示符。

常量命名规则,同变量,但习惯说,常常将常量的名称使用“全大写”形式。

 

定义形式

使用define()函数定义

使用形式:define(“常量名”, 常量值);

推荐常用名使用全大写形式

 

 

使用const语法定义

使用形式: const  常量名 = 常量值;

const语法只能在“最顶层”的代码域中使用(不能在大括号中)

也即,const语法不能在函数中或条件语句中或其他表示一个“范围”的语句中使用

 

 

 

使用常量:

两种形式:

直接使用名字

 

 

或使用constant()函数:constant(“常量名”)

 

 

常量变量的区别:

定义形式不同:

使用形式不同:常量无需$符号

可变程度不同:常量的值不可以改变,常量也不可以销毁

作用范围不同:常量具有超全局作用域 (函数内外都可以直接使用)

可用类型不同:常量只能存储标量类型:intfloatstringbool

判断常量是否存在:defined()

判断的结果为布尔值。

常用形式:if ( defined (某常量名) == false ){ .....这里可以去定义该常量;}

实际上,可以这样:

$result = defined (某常量名); //结果是truefalse

使用一个未定义的常量(特殊情况):

使用一个未定义的常量会报一个错误(notice错误)——跟使用一个未定义的变量一样——当然不推荐。

但是:

php,此时会得到一个意想不到的结果:似乎该常量存在,并该常量的值就是该名字。

 

 

预定义常量:

php语言中,预定了大量的常量,可以直接使用。

其中有些常量,是需要某些模块打开之后才有(比如mysql模块)

比如M_PI(圆周率), PHP_OS(操作系统), PHP_VERSIONphp版本号),PHP_INT_MAXphp中的最大的整数值)

参考手册〉附录〉保留字列表〉预定义常量

魔术常量

魔术常量其实是一种值会随着一定的条件(环境)而变化的常量,形式和使用上是常量,但实际上,其值会改变。

比如:__DIR__(当前网页文件的所在目录),__FILE__(当前网页文件),__LINE__(当前这一行)

魔术常量其实类似变量,其值随着不同代码而变化,不区分大小写

参考手册〉语言参考〉常量〉魔术常量

 

 

结果为:

 

 

 

数据类型

整体划分

标量类型: intfloatstringbool

复合类型: arrayobject

特殊类型: nullresouce

整数类型intinteger

3种整数表示法

十进制写法:123

$n1 = 123;

八进制写法: 0123

$n2 = 0123;

十六进制写法: 0x123

$n3 = 0x123;

浮点类型floatdoublereal

有两种写法:

$v1 = 1.234; //带小数点,,就是浮点类型

$v2 = 1.234E3;//含义是:1.234乘以103次方,即1234,带E的形式就是浮点数

$v3 = 1234E3//结果值是1234000,但也是一个浮点数。

浮点数不应直接进行大小比较

因为浮点数在系统内部(cpu级别),很可能都是不精确表达。

要想进行比较,我们只能考虑自己应用中的精度要求的基础上,将其转换为整数进行比较。

1.6678777   1667.8777

通常的做法是:乘以10的精度位数数次方,比如精度要求3位有效数字,则乘以103次方

 

 

 

 

 

当整数运算的结果超出整数的范围后,会自动转换为浮点数。

 

整数的范围,在32位系统下,大约正负20多亿

 

字符串类型string

js中,虽然有2种字符串表达形式,但也应该理解为是一种字符串:

var  str1 = ‘单引号字符串’

var str2 = “双引号字符串”;

但在php中,单引号和双引号字符串,是有不同细节含义的字符串。

 

php中,有4种字符串形式:

 

单引号字符串:

 

 

结果:

 

 

双引号字符串:

 

 

结果:

 

更多的转义符见手册如下:

 

 

 

nowdoc(单引号)定界符字符串:

 

 

输出结果为:

 

 

 

 

heredoc(双引号)定界符字符串:

 

 

结果:

 

 

布尔类型:boolboolean

用于标识某种只有两个状态值的数据:truefalse——吃没吃,去没去,有没有。。。。。

在应用出,我们常常会(需要)直接将一个数据(可能是各种其他类型)当作一个布尔值来进行判断。

那么此时其实发生的是:会将该数据隐含转换为布尔值。

最常见的语法形式就是: num == 3   flag = 1

If(flag){}

if(  某数据/变量 ){

.................

}

那么,在php中,其他各种数据,隐含转换为布尔值的时候,会当作false的有:

0

0.0

null

“”

“0”

array(); //空数组

未定义的变量 //当然要尽量避免

 

其他数据就当作true来看待了。

 

看手册:PHP手册〉附录〉类型比较表〉使用 PHP 函数对变量 $x 进行比较

 

数组类型array

标识一系列数据的有序排列的集合体。

php中,数组的下标可以使用整数或字符串。

数字下标常说索引号

字符串下标常说键名

实际上,在php的报错系统中,都叫做index,或offset

数组中还可以存储数组,就可以构成多维数组的形式。

索引数组

下标是数字

数组定义

$arr=array();

赋值

$Arr[0]=**

取值

$arr[0]

 

 

关联数组

下标是字符串

数组定义

$arr = array(

‘n1’=>’lisi’

‘n2’=>’wangwu’

);

赋值

$Arr[‘n1’]=**

取值

$arr[‘n1’]

 

数组遍历在php中有专门语法:

foreach( 数组名   as   下标变量$k  =>  值变量$v1 {

//这里就是循环体,就可以使用两个变量$k, $v1

}

转载于:https://www.cnblogs.com/RighTgraM/p/10811810.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值