为了账号安全,请及时绑定邮箱和手机立即绑定

如何键入循环遍历混合数组

如何键入循环遍历混合数组

PHP
慕尼黑5688855 2021-11-26 15:33:50
鉴于此代码(https://psalm.dev/r/156e52eb66):<?phpfunction keys(): array{  return ['foo', 'bar'];}// no lines above can be changedforeach (keys() as $k) {  echo gettype($k);}假设keys函数不在我们的控制之下(在不同的项目中)并且它有效地返回一个mixed( array<array-key, mixed>)数组,它会如何输入。因此,人们只能改变循环及其周围。甚至有可能吗?UPD:我报告了https://github.com/vimeo/psalm/issues/2025
查看完整描述

2 回答

?
九州编程

TA贡献1785条经验 获得超4个赞

如果我做对了,这可能会对您有所帮助:


foreach (array_keys(keys()) as $k) {

 echo gettype(keys()[$k])."\n";

}


查看完整回答
反对 回复 2021-11-26
?
倚天杖

TA贡献1828条经验 获得超3个赞

您可以使用for循环而不是foreach循环来修复警告。


$keys = keys();

for( $i = 0; $i < count( $keys); $i++ ) {

  echo gettype( $keys[$i] );

}

这是 Psalm https://psalm.dev/r/20c1cbab73 中的链接


查看完整回答
反对 回复 2021-11-26
  • 2 回答
  • 0 关注
  • 137 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信