这个数组里面的0,怎么有引号跟没引号都一样能够输出的

来源:1-4 PHP数组之访问索引数组内容

cnsql

2018-12-13 15:44

<?php

//从数组变量$arr中,读取键为0的值

$arr = array('苹果','香蕉');

$arr0 = $arr[0];

if( isset($arr0) ) {print_r($arr0);}

?>

我试了一下$arr0 = $arr['0'];

跟$arr0 = $arr[0];一样都可以的

那为什么还要输入引号呢


写回答 关注

1回答

  • wingle
    2018-12-13 18:08:03

    首先php中0与'0',转化后值相等,但是类型不同

    php是一种弱类型的语句,他的变量、字符定义其实并不十分规范,比如 $a = '4′;我们可以说这个$a是一个字符,但是他又可以直接进行数字的加减乘除,如:

    $a='4';

    $b= $a*5;

    echo $b;//输出20


    这里用非0数字举例:

    if('4′==4){echo 'ok'}//会输出ok,因为他转化后相等,判断成立;但如果是

    if('4′===4){echo 'ok'}; //这个就不会输出ok,判断不成立,因为在恒等面前,有单引号的4和没有单引号的4并不是同一个4,一个是数字,一个是个字符。


PHP进阶篇

轻松学习PHP中级课程,进行全面了解,用PHP快速开发网站程序

181734 学习 · 2575 问题

查看课程

相似问题