首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何键入遍历混合数组的循环

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

Stack Overflow用户
提问于 2019-08-16 04:58:44
回答 3查看 322关注 0票数 0

给定此代码(https://psalm.dev/r/156e52eb66):

代码语言:javascript
运行
复制
<?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>)。

因此,人们可能只会改变循环和它的周围。

有可能吗?

UPD:我报告了https://github.com/vimeo/psalm/issues/2025

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2019-08-16 05:34:12

如果我做得对,这可能对你有帮助:

代码语言:javascript
运行
复制
foreach (array_keys(keys()) as $k) {
 echo gettype(keys()[$k])."\n";
}
票数 1
EN

Stack Overflow用户

发布于 2019-08-16 05:40:46

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

代码语言:javascript
运行
复制
$keys = keys();
for( $i = 0; $i < count( $keys); $i++ ) {
  echo gettype( $keys[$i] );
}

以下是诗篇https://psalm.dev/r/20c1cbab73中的链接

票数 1
EN

Stack Overflow用户

发布于 2019-08-16 06:40:27

页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57519071

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档