Php 函数声明中的类型转换

Php 函数声明中的类型转换,php,Php,我只是在这里玩,我的代码: <?php function test(string $str, array $arr = array()) { echo $str; } test('something'); 其结果是: 可捕获的致命错误:传递给测试的参数1必须是string的实例,string给定 我很好奇为什么我可以在$arr前面加上array而没有任何问题,但是我不能在$str前面加上string?到目前为止,string还不是受支持的类型提示 编辑:参见 及 请在您的答案中

我只是在这里玩,我的代码:

<?php

function test(string $str, array $arr = array()) {
    echo $str;
}
test('something');
其结果是:

可捕获的致命错误:传递给测试的参数1必须是string的实例,string给定


我很好奇为什么我可以在$arr前面加上array而没有任何问题,但是我不能在$str前面加上string?

到目前为止,string还不是受支持的类型提示

编辑:参见


请在您的答案中链接到官方文档。