为什么PHP在数组中包含多个类型?

时间:2018-06-17 05:15:18

标签: php

我是PHP脚本的初学者。据我所知,数组意味着收集相同类型的元素,但PHP违反了该规则。

这是我的代码:

    <!DOCTYPE html>
<html>
<body>
    <?php 
        $a = 10; 
        echo $a;

        $arr = array();

        for($i = 0; $i < 10; $i++){
            $arr[$i] = $i * $i; // Integer values
        }

        $arr[10]="Rohit"; // string value
        $arr[11] = 10.15; // float value
        $arr[12] = true; // boolean value

        for($i = 0; $i < COUNT($arr); $i++){
            echo "<br>".$arr[$i];
        }

        echo "<br>Length of array: ".COUNT($arr);
        echo "var_dump output: ".var_dump($arr);
    ?>
</body>
</html>

这就是我得到的结果:

10
0
1
4
9
16
25
36
49
64
81
Rohit
10.15
1
Length of array: 13

C:\wamp\www\phpModules\check16_6_18_study.php:28:
array (size=13)
  0 => int 0
  1 => int 1
  2 => int 4
  3 => int 9
  4 => int 16
  5 => int 25
  6 => int 36
  7 => int 49
  8 => int 64
  9 => int 81
  10 => string 'Rohit' (length=5)
  11 => float 10.15
  12 => boolean true

var_dump output:

你可以注意到前10个元素是整数,第10个元素是字符串,第11个元素是浮点数,第12个元素是布尔值。

请有人解释为什么PHP有这种令人困惑的行为吗?

1 个答案:

答案 0 :(得分:2)

PHP是一种具有动态类型系统的语言。像大多数动态语言一样,如Python,Javascript,Ruby默认情况下不会检查任何类型的类型。它实际上只是其他一切工作的紧急行为。

相关问题