2015-06-26 118 views
-1

我有以下数组和循环条件。我无法预览此输出。我可以使用多个foreach吗?

通缉输出:(这不回答我下面提供的代码)

emp_name1 = captamerica 
emp_name2 like ironman 

我的PHP代码:

$filter = array('emp_name1','emp_name2'); 
$condition = array('=','like'); 
$values = array('captamerica','ironman'); 

foreach($filter as $row){ 
    foreach($condition as $row2){ 
     foreach($values as $row3){ 
      echo $row." ".$row2." ".$row3."<br>"; 
     } 
    } 
} 
+0

3个数组是否始终保证具有相同数量的元素,因此总是每个比较值和运算符的组成成员? –

+0

是的,先生。我正在对我想要发生的输出进行抽样或想法。 –

回答

1

您需要为每个阵列具有相同的元素数,这对您的数据而言是正确的。这里是你需要的:

foreach($filter as $k=>$row){ 
    echo $row." ".$condition[$k]." ".$values[$k]."<br>"; 
} 
+0

这个也有帮助!谢啦!^_^v –

0

只要你在不同的阵列做这件事,你可以做多的foreach。原因是php有内部数组指针,需要在foreach中操作。如果你在同一个数组上执行多个foreach,内部指针会受到干扰。

我没有得到你所引用的输出。我得到的是:

emp_name1 = captamerica 
emp_name1 = ironman 
emp_name1 like captamerica 
emp_name1 like ironman 
emp_name2 = captamerica 
emp_name2 = ironman 
emp_name2 like captamerica 
emp_name2 like ironman 
+0

您是否阅读了对齐/关联数组键的所需输出?生成2行输出只需要一个循环,而不是3个嵌套循环中的8行。 –

+0

问题不明确。标题似乎提出了一个问题,也写错了。键盘上有一个shift键。然后,您无法“预览”输出并不表示您确实需要输出。 – Scalable

+0

你是对的老板。无论如何,我无法找到一个我想要发生的想法。但我仍然在寻找任何信息来源,并找到另一种方式来制作它... –

0

你可以使用多个foraech。但不显示这个输出的扭结。

你有3个嵌套循环,每个循环将循环2次,这意味着比echo语句将执行2 * 2 * 2 = 8次。

要打印你想要的拖曳线,你只需要一条for loop声明。

for($i=0;$i<2;$i++) 
    echo $filter[$i]." ".$condition[$i]." ".$values[$i]."<br>"; 
+0

感谢帮助的人。这是我正在考虑的选项之一。 –

相关问题