我是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有这种令人困惑的行为吗?
答案 0 :(得分:2)
PHP是一种具有动态类型系统的语言。像大多数动态语言一样,如Python,Javascript,Ruby默认情况下不会检查任何类型的类型。它实际上只是其他一切工作的紧急行为。