gpt4 book ai didi

php - 运行一个内部有函数的循环

转载 作者:行者123 更新时间:2023-12-02 05:28:38 25 4
gpt4 key购买 nike

我在尝试在循环内运行代码时遇到问题,我的循环由一个函数组成。

这是我的编码:

$new = array(1,2,3,4);
for($i=0;$i<=3;$i++){
$val = $new[$i];



function myfunction($value) {
//Do something
}

echo $val;
}

问题是代码只输出数组中的第一个值。我很困惑,我不是想在循环内声明一个函数吗?

最佳答案

您的代码最终出现 fatal error ,因为在第二次迭代时它尝试重新声明函数 myfunction .这就是为什么它只打印数组的第一个值。

为了避免该 fatal error ,您可以使用 function_exists() 检查该函数是否已经定义。像这样的功能:

$new = array(1,2,3,4);
for($i=0;$i<=3;$i++)
{
$val = $new[$i];
if(!function_exists('myfunction'))
{
function myfunction($value) {
//Do something
}
}
echo $val;
}

PHP 是一种脚本语言,在 for 循环或 if 语句中声明函数在语法上是正确的,但这是一种不好的做法,之后会导致很多错误。
最好的方法是在循环外声明一个函数,如果需要,在循环内调用它,如下所示:
<?php
function myfunction($value) {
//Do something
}

$new = array(1,2,3,4);
for($i=0;$i<=3;$i++)
{
$val = $new[$i];
myfunction($value); //may you was intended to pass $val here?
echo $val;
}

关于php - 运行一个内部有函数的循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12929501/

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