PHP-代码之间切换困难
我在一个比这个大得多的代码中有点尴尬,但大致上就是这样PHP-代码之间切换困难,php,switching,Php,Switching,我在一个比这个大得多的代码中有点尴尬,但大致上就是这样 <?php $other = 'white'; $array = array('red', 'blue', 'red', 'red', 'red'); foreach($array[1] as $match) //OR $match = $other; { //Core Area if($match == 'red') { echo 'RED!'; } if($match == 'blue') { ech
<?php
$other = 'white';
$array = array('red', 'blue', 'red', 'red', 'red');
foreach($array[1] as $match) //OR $match = $other;
{
//Core Area
if($match == 'red') { echo 'RED!'; }
if($match == 'blue') { echo 'BLUE!'; }
if($match == 'white') { echo 'white!'; }
}
?>
现在的情况是,$other
如果没有foreach
的阻挡,就无法进入核心区域。另一种选择是克隆——通过复制粘贴——到另一个地方。。。这不太好用。。。我曾尝试将面积放在函数中,但如果没有许多全局值,这似乎不是一个可行的选择。有没有办法在foreach
和=
之间切换
$array[] = $other;
现在,$other
在数组中,因此它将出现在循环中比较的内容列表中
你为什么要这样做,或者你真正想问的是我的问题。
<?php
$other = 'white';
$array = array('red', 'blue', 'red', 'red', 'red');
array_push($array, $other);
foreach($array as $match) //OR $match = $other;
{
//Core Area
if($match == 'red') { echo 'RED!'; }
if($match == 'blue') { echo 'BLUE!'; }
if($match == 'white') { echo 'white!'; }
}
array_pop($array);
或者:
<?php
$other = 'white';
$array = array('red', 'blue', 'red', 'red', 'red');
foreach($array as $match) //OR $match = $other;
{
//Core Area
custom_match($match);
}
custom_match($other);
function custom_match($color) {
if($match == 'red') { echo 'RED!'; }
if($match == 'blue') { echo 'BLUE!'; }
if($match == 'white') { echo 'white!'; }
}
?>
您的PHP代码中有许多打字错误和错误,这使得您很难理解这个问题。Exmaples:数组周围没有引号,if()语句使用赋值=
,而不是相等性测试=
。而且,它被分成了几个块,因此很难阅读。请先清理示例代码,这样会更容易回答!谢谢if($match='red')
:所有这些都必须是=
,而不是=
。数组值应该用引号括起来,除非它们是常量(在这种情况下,你应该更好地命名它们,比如大写或其他)。您希望查看我猜测的数组中的每个元素,因此应该将$array作为$match
编写,而不是$array[0]作为$match
。您的比较应该使用<代码> >=> >或<代码>===/代码>不<代码>=/COD>所有三个if语句,并且在一个循环中有一个随机的<代码> > >代码>,我非常怀疑您是否想要。这只是一个注释。我不知道你的问题是什么,所以我恐怕无法回答。请在发帖前仔细阅读PHP。你的PHP代码被破坏了,你的理解也被破坏了。我最好的猜测是,他是从BASIC、COBOL或某种形式的汇编程序直接进入PHP的,并且在这一过程中经历了一些文化冲击。这一定是其中一个涟漪。嗯,这看起来可能有用。。foreach($array[1]=$other作为$match)
@ZJR-Nah,我怀疑我不仅仅在理解或语法方面很在行。@够了,不,这行代码将变量$other
中的任何内容添加到数组$array
。所以它现在将包含红、蓝、红、红、红、白
。。。因此,稍后当您循环遍历$array
中的所有值时,白色将是这些值之一。您不希望按照您建议的方式更改循环。正如其他人暗示的那样,其中一本“24小时内学习PHP”类型的书可能是个好主意——你只需要一本语法/结构的入门书,感觉就像是从另一类语言的角度来处理这个问题。foreach($array[1]As$match)
似乎是一个愚蠢的循环,没有?当然有:)我只是抄了他原来的帖子。。。现在更正,谢谢