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

在'foreach'构造中检查键或值的最佳方法?

在'foreach'构造中检查键或值的最佳方法?

PHP
jeck猫 2023-04-28 14:21:09
我想对在构造中迭代的数组表达式的键(如果是哈希)和值进行类型检查foreach,例如:foreach ($reasons as AuthenticationResponse $reason) ...instanceof除了检查循环体之外,还有其他选择吗?
查看完整描述

1 回答

?
慕的地6264312

TA贡献1817条经验 获得超6个赞

不,但这只是一行代码,应该没有问题。


class Test {

    public int $number;

}


class Dummy {

    public int $number;

}


$tests = [];


for($i = 0; $i < 10; $i++) {

    $test = new Test();

    $test->number = $i;

    $dummy = new Dummy();

    $dummy->number = $i;

    $tests[] = $test;

    $tests[] = $dummy;

}


foreach($tests as $test) {

    if(!$test instanceof Test) continue;

    echo get_class($test), $test->number, PHP_EOL;

}


这将跳过所有非测试和输出:


Test0

Test1

Test2

Test3

Test4

Test5

Test6

Test7

Test8

Test9


查看完整回答
反对 回复 2023-04-28
  • 1 回答
  • 0 关注
  • 90 浏览

添加回答

举报

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