PHP数据类型转换

php的8中原始数据类型

                1.bool 

                2.整型

                3.浮点型

                4.字符串

                5.array

                6.object

                7.resource

                8.null

数据类型转换

    PHP是弱类型语言,变量的类型

      会根据程序的执行环境自动转换,

        Java,c,c++等强类型语言必须先声明数据类型,java和c声明一个整数型(int a=100;)

*****************************************************************************************************************

转换类型分类

        1.自动转换(隐式转换)

            1.其他类型转换浮点型和整数型

             a.合法的数字字符串(除了E,e),并且没有超出

               整型的最大值那么就转换为整型

               否则就转换为浮点型

             b.非合法的数字字符串,

               如果以数值开头,那么转为该数值

               如果以字母开头,那么转为0

             c.布尔类型转为整型

                true   ======== 1

                false  ======== 0

             d.null    ======== 0

             e.空字符串 ======== 0

            总结:数字开头为数字,浮点输出小数,科学计数法输出小说,真为1,假为0,空为0.

            2.其他类型转为字符串类型

              a.整型和浮点型转为自身

              b.布尔类型转为字符串

                true  转为  1

                false 转为  空字符串

              c.null类型转为空字符串

              d.数组转为字符串是Array()

            总结:真为1,假为0.

            整数浮点是本身,

            null为空,数组是Array

            3.其他类型转为布尔类型

                下面的情况转为false

                  1.空字符串

                  2.null

                  3.整型0  浮点0.0 字符串'0' 和"0"

                  4.空数组

                其他情况都是true

            总结:字符串非空,非零为真,

                        数组非空,非null为真

                        整数浮点非0或0.0为真                

             分支语句

             if(条件){

                //条件成立的情况执行语句

             }else{

                //条件不成立的情况执行的语句

             }

        2.强制转换(显式转换)

        举个例子,详情查看下面代码。

<?php
//声明一个变量
$a=1;
var_dump((bool)$a);//把int型a强类型转换布尔型,输出true。
$b=true;
echo (int)$b;   //把布尔型的b转换为int输出,显示结果为1

注意:其他类型转换布尔型(bool)只能选择var_dump()强转换输出

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Java学习网

Java实现的IP处理工具类——可用于项目

直接写出代码,如下所示: import java.io.UnsupportedEncodingException; import java.util.Strin...

2606
来自专栏Jack-Cui

520.Detect Capital(String-Easy)

Given a word, you need to judge whether the usage of capitals in it is right or ...

2348
来自专栏赵俊的Java专栏

连接两个字符串中的不同字符

1993
来自专栏黑泽君的专栏

java基础学习_常用类03_StringBuffer类、数组高级和Arrays类、Integer类和Character类_day13总结

============================================================================= ==...

813
来自专栏吾爱乐享

java之学习正则表达式的替换功能

1323
来自专栏java达人

两个关于字符串的经典例子

示例1: ==运算符 public static void test(){ String x = "hello"; String y = "world"; S...

2088
来自专栏Java技术分享

带抽象方法的枚举

package org.lgy.study.enumstudy; public enum Operation{ PLUS,MINUS,M...

20811
来自专栏前端儿

ES6笔记(3)-- 解构赋值

其实,解构赋值内部的实现方式使用到了ES6的Iterator迭代器,通过层层遍历,保证了相应值的获取

1262
来自专栏赵俊的Java专栏

删除排序数组中的重复数字

1262
来自专栏JavaEE

String类相关面试题很难?不要方,问题不大前言:一、字符串的创建:二、字符串的拼接:三、intern方法:总结:

Java中有一个String类,特别让人伤脑筋。因为它可以直接赋值,也可以new一下用构造器生成对象,还可以用加号拼接……这些不同的方式到底有什么区别?本文是个...

2175

扫码关注云+社区

领取腾讯云代金券