Php &引用;foreach“;导致我的功能不正常

Php &引用;foreach“;导致我的功能不正常,php,arrays,foreach,Php,Arrays,Foreach,我正在努力完成以下工作: <?php $item1 = A; $item2 = B; $item3 = C; $array = array($item1, $item2, $item3); function myFunction () { if ($item = "A") { echo "Alpha "; } elseif ($item = "B") { echo "Bravo "; } els

我正在努力完成以下工作:

<?php

$item1 = A;
$item2 = B;
$item3 = C;

$array = array($item1, $item2, $item3);

function myFunction () {
    if ($item = "A") {
        echo "Alpha ";
        } 
    elseif ($item = "B") {
        echo "Bravo ";
        }
    elseif ($item = "C") {
        echo "Charlie ";
        }
    else {
        echo "Error";
        }
    }

foreach ($array as $item) {
    myFunction ();
    }

?>
错误日志中没有错误,所以我猜我一定犯了一些与语法无关的错误。我添加了一个
echo$项目
myFunction
之前,输出如下:

Alpha Alpha Alpha
AAlpha BAlpha CAlpha
这意味着$item已经被正确地分配了A、B和C。为什么myFunction不能像预期的那样工作

提前谢谢

1)
=
是赋值运算符,不能用于比较。请尝试
=
==

2) 您分配了
$item1=A
,但比较了
$item=“A”
。然而,
A
“A”
通常是不同的

3) 您没有将
$item
传递给函数

在第一个
if
语句中,您将
“A”
分配给
$item
,然后打印出
“Alpha”
“if
“A”

您的代码可能如下所示:

<?php

$item1 = "A";
$item2 = "B";
$item3 = "C";

$array = array($item1, $item2, $item3);

function myFunction ($item) {
    if ($item == "A") {
        echo "Alpha ";
        } 
    elseif ($item == "B") {
        echo "Bravo ";
        }
    elseif ($item == "C") {
        echo "Charlie ";
        }
    else {
        echo "Error";
        }
    }

foreach ($array as $item) {
    myFunction ($item);
    }

?>

1)
=
是赋值运算符,不能用于比较。请尝试
=
==

2) 您分配了
$item1=A
,但比较了
$item=“A”
。然而,
A
“A”
通常是不同的

3) 您没有将
$item
传递给函数

在第一个
if
语句中,您将
“A”
分配给
$item
,然后打印出
“Alpha”
“if
“A”

您的代码可能如下所示:

<?php

$item1 = "A";
$item2 = "B";
$item3 = "C";

$array = array($item1, $item2, $item3);

function myFunction ($item) {
    if ($item == "A") {
        echo "Alpha ";
        } 
    elseif ($item == "B") {
        echo "Bravo ";
        }
    elseif ($item == "C") {
        echo "Charlie ";
        }
    else {
        echo "Error";
        }
    }

foreach ($array as $item) {
    myFunction ($item);
    }

?>

在函数上设置$item参数

$item1 = "A";
$item2 = "B";
$item3 = "C";

$array = array($item1, $item2, $item3);


function myFunction($item){
    if($item == "A"){
        echo 'Alpha'.'<br/>';
    }

    elseif ($item == "B") {
        echo 'Bravo'.'<br/>';
    }

    elseif ($item == "C") {
        echo 'Charlie'.'<br/>';
    }

}


foreach ($array as $item) {
    myFunction($item);
    }
$item1=“A”;
$item2=“B”;
$item3=“C”;
$array=array($item1,$item2,$item3);
函数myFunction($item){
如果($item==“A”){
回声“Alpha”。
; } 其他(项目==“B”){ 回音“好极了”。
; } 其他(项目==“C”){ 回音“查理”。
; } } foreach($数组作为$项){ 我的职能(项目); }
在函数上设置$item参数

$item1 = "A";
$item2 = "B";
$item3 = "C";

$array = array($item1, $item2, $item3);


function myFunction($item){
    if($item == "A"){
        echo 'Alpha'.'<br/>';
    }

    elseif ($item == "B") {
        echo 'Bravo'.'<br/>';
    }

    elseif ($item == "C") {
        echo 'Charlie'.'<br/>';
    }

}


foreach ($array as $item) {
    myFunction($item);
    }
$item1=“A”;
$item2=“B”;
$item3=“C”;
$array=array($item1,$item2,$item3);
函数myFunction($item){
如果($item==“A”){
回声“Alpha”。
; } 其他(项目==“B”){ 回音“好极了”。
; } 其他(项目==“C”){ 回音“查理”。
; } } foreach($数组作为$项){ 我的职能(项目); }
另外,您是要将变量传递给函数还是什么?否则,就像现在一样,它应该只输出“error”

您的函数没有参数

foreach ($array as $item) {
myFunction ();
}
传递$item使您的函数能够实际工作,怎么样

function myFunction($item) {
因此:

foreach($array as $item) {
myFunction($item);
}

另外,您是要将变量传递给函数还是什么?否则,就像现在一样,它应该只输出“error”

您的函数没有参数

foreach ($array as $item) {
myFunction ();
}
传递$item使您的函数能够实际工作,怎么样

function myFunction($item) {
因此:

foreach($array as $item) {
myFunction($item);
}




谢谢,我尝试使用==代替,但这次没有得到任何输出。好吧,您分配的
$item1=A
不是
$item1=“A”
。有一点不同。我在每个作业中都添加了双引号,但仍然没有得到任何输出。我复制了你粘贴的那个,但现在它显示“ErrorError”。尝试手动处理更改。还要注意第三点,我注意得比较晚。谢谢,我尝试使用==代替,但这次没有得到任何输出。好吧,您分配了
$item1=A
而不是
$item1=“A”
。有一点不同。我在每个作业中都添加了双引号,但仍然没有得到任何输出。我复制了你粘贴的那个,但现在它显示“ErrorError”。尝试手动处理更改。还有第三点,我注意得比较晚。谢谢,这是问题之一!谢谢,这是问题之一!谢谢保罗,我已经得到了这个问题的答案。我应该使用==而不是=进行比较,而且我没有将$item传递给函数。为什么这么粗鲁?另外,已经有另外两个答案指出了这一点。我没有粗鲁,赫尔曼。然而,当我只是想帮助别人时,你却对我无礼。如果你觉得我很粗鲁,那是因为你选择这样读。如果我的本意是粗鲁,我一开始就不会回应。如果我发布了一些已经发布的东西,那是因为它们是像我发布我的一样发布的。最后,如果你能停止攻击我和批评我发布的所有东西,那就太好了。谢谢保罗,我已经得到了这个问题的答案。我应该使用==而不是=进行比较,而且我没有将$item传递给函数。为什么这么粗鲁?另外,已经有另外两个答案指出了这一点。我没有粗鲁,赫尔曼。然而,当我只是想帮助别人时,你却对我无礼。如果你觉得我很粗鲁,那是因为你选择这样读。如果我的本意是粗鲁,我一开始就不会回应。如果我发布了一些已经发布的东西,那是因为它们是像我发布我的一样发布的。最后,如果你能停止攻击我和批评我发布的所有东西,那就太好了。