php 修改提交数据类型,php标签,php变量,php数据类型与数据类型转换

本文介绍了PHP的基本语法,包括PHP标签、变量、数据类型及其转换。讲解了如何使用echo、print以及var_dump等函数进行输出,强调了变量的动态特性以及值传递和引用传递的区别。同时,提到了isset()和empty()函数在检测变量中的应用,以及如何通过gettype()和settype()来获取和设置数据类型。
摘要由CSDN通过智能技术生成

php标签,php变量,php数据类型与数据类型转换

1.php标签php程序 以 \<?php 开头

php程序 以 \?> 结尾

; 语句分隔符 代表当前语句的结束

// php单行注释

/多行注释/

代码缩进 提高代码的可读性

打印函数(echo,print var_dump,print_r ……);

拼接使用. -> 通过 . 拼接的数据都会变成字符串(String) 类型

程序是纯php代码可以不用写结束标签 否则(代码中存在其他代码)则需要完整的写出php脚本<?php ?>

添加注释的代码不会被程序执行,作用 说明注释内容的信息 作用 方便后期维护与逻辑的梳理

// 单行注释

// 只存在php程序 可以不用 php结束标签

echo'2020-7-3';

functionsum($a,$b){

return"{$a} + {$b} = ".($a+$b);

}

// 调用函数 sum 并打印函数返回结果

echo sum(10,20);

/*多行注释

此脚本存在html标签 需要在适当的地方书写php结束标签

*/

echo'2020-7-3';

?>

12312

7.打印语句

// echo 可以打印多个表达式,并且识别html标签。但 echo 没有返回值。

$username='盘古';

$hobby=['唱','跳','rap','篮球'];

echo123,'
',$username;

// print 只能打印单个表达式 如果非要打印多个变量使用 . 拼接 print()有返回值。

print($username);

print('hello').$username;

// var_dump() 获取数据的详细信息(变量类型,长度,值);

// ps: 1.utf-8编码类型中 中文汉字一般占3个字符 2.gbk编码中一般占2个字符

var_dump(123.5);

// float(123.5)

var_dump($username);

// string(6) "盘古"

// var_export(); 输出或返回一个变量的字符串表示(源代码)

// 1.直接输出 结果

var_export($hobby);

// 2.也可以通过设置 var_export()的第二个参数为True 从而返回变量的表示

$h=var_export($hobby,true);

print($h);

2.变量变量是临时存储数据的容器

变量是实现代码复用的有效途径

变量的命名

php变量名必须以 ‘$’ 开头

php变量名不能以数字开头

变量名允许以 ‘_’开头

变量名不能包含特殊字符(@ # & * …..)

*变量名(变量标识符):仅允许字母,下划线,数字组合,并且不能以数字开头

*不推荐命名规则: 使用中文 无意义命名

// php 变量区分大小写 函数不区分大小写

// javascript 变量和函数都区分大小写

// 变量区分大小写

$username='admin';

$userName='root';

print($username);

print($userName);

// admin root

// 函数 类名不区分大小写(内置函数,自定义函数);

// 例如:

echo strtoupper($username);

echo STRTOUPPER($username);

// ADMIN ADMIN

functionupName($name){

echo strtoupper($name);

}

upName($username);

UPNAME($username);

// ADMIN ADMIN

变量的动态: 变量的类型随值而变化

$var=123;

var_dump($var);

// int(123)

// 此时修改$var的值为 'admin'

$var='admin';

var_dump($var);

// string(5) "admin"

// $var 的类型由 int类型 变成了 string类型

// php 变量的类型由值决定 和javascript一样

变量的赋值(传递):值传递和引用传递

值传递(默认的方式)

```php

$price1 = 99;

$price2 = $price1;

// 更新 price2 的值

$price2 = 199;

echo ‘$price1->’,$price1,’
‘;

echo ‘$price2->’,$price2,’
‘;

// $price1->99

// $price2->199

// 值传递 只是将 一个变量的值 复制一份 并重新给另一个变量赋值 之后两个变量就没有关系

+引用传递

```php

// 引用传递

$name1 = 89;

// 在等号的右边(右值)前面加上&(取地址符,)

$name2 = &$name1;

$name2 = 288;

echo '$name1->'.$name1.'
';

echo '$name2->'.$name2.'
';

// $name1->288

// $name2->288

// name1和name2同步更新

// 引用传递 将一个变量的内存地址 赋值给另一个变量 此时两个变量指向同一个内存地址 每次修改变量值 并不是修改的内存地址 而是修改的值 所以两个变量的值都会发生变化可变变量

$var='email';

echo $email;

//通过可变变量 用代码生成变量名使用

变量的检测和删除

规定不同的错误级别报告

// 关闭错误报告

error_reporting(0);

// 报告 runtime 错误

error_reporting(E_ERROR|E_WARNING|E_PARSE);

// 报告所有错误

error_reporting(E_ALL);

// 等同于 error_reporting(E_ALL);

ini_set("error_reporting",E_ALL);

// 报告 E_NOTICE 之外的所有错误

error_reporting(E_ALL&~E_NOTICE);

变量检测 isset();

isset() 判断变量是否存在且值不为null

如果变量不存在 返回 false

如果变量存在但值为 null 返回false

如果变量存在且值不为 null 返回 true

// var_dump(isset($name)); 判断变量是否存在且值不为null

//

var_dump(isset($name));

// 打印 bool(false) 说明变量为null

$name=null;

var_dump(isset($name));

// 打印 bool(true) 说明变量存在且不为 null

if(isset($name)){

echo'变量存在且值为:'.$name;

}else{

echo'变量未定义';

}

// 程序进入了 else 此时虽然变量 $name 存在 但它的值为 null 返回了 false

变量删除 unset()

unset() 是一个函数 但是它没有返回值(不能用于 判断语句)

判断值是否为空 empty()

empty() 判断变量是否为空或者不存在

如果变量不存在 返回 true

如果变量值为空 ‘’, 返回 true

如果变量存在 且值不为空 返回 false

$var='';

if(empty($var)){

echo'返回true';

}else{

echo'返回false'

}

// 进入了 if 语句 因为此时 变量为空

数据类型基本类型字符串类型(string):字符串是连续的字符序列,字符串中的每个字符只占用一个字节 ‘’和””包裹的字符串有不同含义 ‘’包裹的字符串就是普通的字符串 “”包裹的字符串 PHP 将对一些特殊的字符进行解析(\n \t \r ….)

布尔值(boolean): true 或者 false(真或者是假) 0 undefined null false 都为 false 其余的都为 true

整数(integer): 整数数据类型只能包含整数。这些数据类型可以是正数或负数

浮点数(float): 浮点数是有小数点或指数形式的数字。

复合类型

数组(array):数组在一个变量中存储多个值。

对象(object): 对象是存储数据和有关如何处理数据的信息的数据类型。对象的属性和方式是无序的,通过对应的键获取对应的值

特殊类型

资源(resource):文件资源类型

空值(null): 空值是最简单的数据类型。表示没有为该变量设置任何值,另外,空值(NULL)不区分大小写

// 基本类型(标量 单值); 存放在栈内存中

$name='盘古';

$bool=false;

$age=12;

$price=12.6;

// 复合类型(多值); 数据存放在堆内存中 但内存地址 存在栈内存中

// 对象

$obj1=newstdClass;

$obj1->name='盘古';

$obj1->age=18;

var_export($obj1);

echo'
';

echo $obj1->name;// 打印 对象 name属性

// 数组

$arr=['cl',18,'唱'];

$lan=print_r($arr,true);

echo'

'.$lan.'
'.'
';

echo $arr[0];// 打印数组下标为0的值

// 特殊类型

$nu=null;

echo gettype($nu);

// 打印null类型

// 文件句柄

$file1=fopen("text.txt",'r');

var_dump($file1);

// resource(3) of type (stream) 资源类型

获取数据类型 gettype()

$one='132';

echo gettype($one);

// string

设置数据类型 settype()

数据类型转换 settype()

自动转换: 是由php内部转换的 不需要主动转换

```php

$name = ‘判断’;

$age = 18;

$t = true;

$f = false;

$g = ‘5g’;

$g1 = ‘g5’;

$ph = ‘php’;

echo $name + 10,’
‘;

// 警告 $name 为非数值 并且不是以数字开头 php自动转换为 0; 打印结果 为 0 + 10 = 10;

echo $age + 10,’
‘;

// 两个数值类型相加 得到结果 18 + 10 = 28

echo $t + 10,’
‘;

// php内部将 布尔值类型 true 转换成 1 得到结果为 1 + 10 = 11

echo $f + 10,’
‘;

// php 内部将 布尔值false转换成0 得到结果 0 + 10 == 10

echo $g + 10,’
‘;

// 首先警告 ‘5g’为字符串 但首位是由5开头 所以将 5g 转成了5 得到结果 5 + 10 = 15

echo $g1 + 10,’
‘;

// 首位为 g php不会将 g5转换成数字 所以的到 0 + 10 = 10;

echo $ph . 15;

// php 字符串拼接 将15装换成’15’ ‘php’ + ‘15’ = php15

>强制转换:

1.临时转换(转换类型)变量(int,string...)但这种转换是临时转换的变量本身并没有变化数据类型

2.永久转换settype()settype(变量,转换类型);这种装换会将变量类型永久改变

```php

// 临时转换

$str1 = 'admin';

var_dump((int)($str1));

// int(0) 将字符串'admin' 强制转换成整数类型

var_dump((bool) "");

// 将空字符串转换成布尔值 false

echo (int)$name + 10,'
';

// 将字符串先转成数值 再和数值进行运算

echo (int)$name + 10,'
';

// 使用 intval()强制转换

echo intval($name) + 20,'
';

// 打印结果 仍然是 string

echo gettype($name),'
';

// 永久转换 settype()

settype($var,$type);

// $var:要转换的变量;

// $type:可能要转换的数据类型 (integer,float,string,array,object,boolean,null);

$foo = '5bar';

settype($foo,"integer");

var_dump($foo);

$nums = 15;

settype($nums,"string");

var_dump($nums);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值