给定此代码(https://psalm.dev/r/156e52eb66):
<?php
function keys(): array
{
return ['foo', 'bar'];
}
// no lines above can be changed
foreach (keys() as $k) {
echo gettype($k);
}假设keys函数不在我们的控制范围内(在不同的项目中),它如何有效地返回mixed数组(array<array-key, mixed>)。
因此,人们可能只会改变循环和它的周围。
有可能吗?
发布于 2019-08-16 05:34:12
如果我做得对,这可能对你有帮助:
foreach (array_keys(keys()) as $k) {
echo gettype(keys()[$k])."\n";
}发布于 2019-08-16 05:40:46
您可以使用for循环而不是foreach循环来修复警告。
$keys = keys();
for( $i = 0; $i < count( $keys); $i++ ) {
echo gettype( $keys[$i] );
}以下是诗篇https://psalm.dev/r/20c1cbab73中的链接
发布于 2019-08-16 06:40:27
https://stackoverflow.com/questions/57519071
复制相似问题