gpt4 book ai didi

php - 从匿名函数中中断 array_walk

转载 作者:IT王子 更新时间:2023-10-28 23:53:18 24 4
gpt4 key购买 nike

有没有办法从匿名函数内部停止 array_walk

这里有一些示例代码(有效)来说明我的意思,它检查数组是否只有数值。

$valid = true;
array_walk($parent, function ($value) use (&$valid) {
if (!is_numeric($value)) {
$valid = false;
}
});

return $valid ? 'Valid' : 'Invalid';

如果我有一个足够大的数组,并且第一个条目无效,其余(冗余)检查仍会完成,所以我想停止执行。

使用 break/continue 不起作用(错误: fatal error :无法在...中中断/继续 1 级)。

注意:我不想重写代码,我只是想知道如果这是可能的。

最佳答案

如前所述,理论上这是可能的,但我建议不要这样做。下面是如何使用异常来跳出 array_walk

<?php
$isValid = false;

$array = range(1, 5);

try {
array_walk($array, function($value) {
$isAMagicNumber = 3 === $value;
if ($isAMagicNumber) {
throw new Exception;
}
});
}catch(Exception $exception) {
$isValid = true;
}

var_dump($isValid);

/*
bool(true)
*/

关于php - 从匿名函数中中断 array_walk,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17853113/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com