PHP数据类型:一切合法操作的基础(总结)

1、支持八种原始的数据类型:
类型转换的基本方式:
gettype()获取数据类型,var_dump打印类型并打印出值

字符串
布尔:true 和false
实际工作中不应该直接将boolean值直接进行判断,而是要用布尔类型的变量。

哪些值可以转化为布尔类型的值:
空数据和单字符0可转为false,其他不可以。
非空非零可以转为true。

整型int
无论什么进制的数据,最后都是以十进制显示的
查看本机最大整数:PHP_INT_MAX
字符型数据转换为整数:intval()
浮点型转换为整数,只保留整数部分

浮点型(小数,实数)Float:为什么不能直接用来做比较?
其他类型如何转换为浮点数?
floatval() 将其他类型转为浮点数。
浮点数如何进行比较?
不能对浮点数直接做比较运算,而是需要通过再者的差小于一个极小值来判断是否相等。

字符串(平时使用最多的信息)
表示方法有四种:单引号、双引号、heredoc语法结构和nowdoc语法结构
双引号不但可以转译普通的字符信息,而且可以解析其中的变量以及所有的转译字符。

heredoc中不需要转译
语法以及用法:

<?php
/*1. 必须后接分号,否则编译通不过。
2. EOF 可以用任意其它字符代替,只需保证结束标识与开始标识一致。
3. 结束标识必须顶格独自占一行(即必须从行首开始,前后不能衔接任何空白和字符)。
4. 开始标识可以不带引号或带单双引号,不带引号与带双引号效果一致,解释内嵌的变量和转义符号,带单引号则不解释内嵌的变量和转义符号。
5. 当内容需要内嵌引号(单引号或双引号)时,不需要加转义符,本身对单双引号转义,此处相当与q和qq的用法。*/
echo <<<EOF
        <h1>我的第一个标题</h1>
        <p>我的第一个段落。</p>
EOF;
// 结束需要独立一行且前后不能空格

/*1.以 <<<EOF 开始标记开始,以 EOF 结束标记结束,结束标记必须顶头写,不能有缩进和空格,且在结束标记末尾要有分号 。
2.开始标记和结束标记相同,比如常用大写的 EOT、EOD、EOF 来表示,但是不只限于那几个(也可以用:JSON、HTML等),只要保证开始标记和结束标记不在正文中出现即可。
3.位于开始标记和结束标记之间的变量可以被正常解析,但是函数则不可以。在 heredoc 中,变量不需要用连接符 . 或 , 来拼接,*/
$name="runoob";
$a= <<<EOF
        "abc"$name
        "123"
EOF;
// 结束需要独立一行且前后不能空格
echo $a;
?>

nowdoc功能与单引号一致。

数组的创建与分类:
数组就是键值对的有序集合
array()创建数组,php4.0之后直接用 [ ] 创建数组
print_r()输出数组
var_dump() 可以显示数据的类型

根据键名主要分为两类:
如果键名不是以下两种类型,将会强制性自动转换
索引数组(整数)和关联数组(字符串)

数组的添加删除和查看:
数组的值可以是任何类型,如果是对象,可以按照对象方式访问。
如果是数组,就构成了多维数组。
查看 除了[ ] 还可以 { }
添加:不指定键名则追加到尾部、指定已知的便覆盖、不存在键名则创建。
unset() 可以删除数组中的某一个元素,也可以删除整个数组。
array_values() 重建数组的索引。

数组的遍历与常用的输出方式:
foreach

$arr = [1,2,3,4];
foreach ($arrs as $key => $value) {
	echo $key.'=>'.$value.'<br>';
}

PHP常用的几种输出方式
在这里插入图片描述
对象(obj):
对象的创建
创建对象的模板 叫做class 类
public是类里边的属性修饰符
创建一个方法 function 方法中创建一个属性 并将其返回
当前对象中访问自己的属性用$this
访问对象中的属性和方法以及其他类型是如何转为对象

class Student
{
	public $name = '张三';
	public $age =18;

	public function getInfo()
	{
		return '我的名字'.$this->name.'我的年龄'.$this->age; 
	}
}
$obj = new Student;
echo $obj->name;
echo $obj->age;
echo $obj->getInfo();

stdClass标准类的使用与类型转换:
php中内置了一个标准类 stdClass()可以基于这个类创建一个标准对象。
call_user_fanc:调用用户自定义的方法

$obj = new stdClass();
$obj->name = '张三';
$obj-> zhangsan = function ()
{
	return '法外狂徒张三';
};

print $obj->name;
print call_user_func($obj->zhangsan);

//数组转为对象
print_r((object)[1,2,'张三']);
stdClass Object
(
    [0] => 1
    [1] => 2
    [2] => 张三
)
print_r((object)'shangsan');

stdClass Object
(
    [scalar] => shangsan
)
//基本类型转换成对象 NULL类型转换成空对象.但是空字符串是有属性的
print_r((object)null);
stdClass Object
(
)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值