php 遍历二维数组 判断

<?php
foreach ($datasy as $s){
foreach ($datas as $r) {
if($s['listyy']==1){
?>
<td align='center' ><?php echo $r['ks'];?></td>
<?php
}
}
}?>
在做这样两个二维数组循环判断的时候
相同的一个数据输出了两个同样的值
比如
<td align='center' >第一</td>
<td align='center' >第一</td>

这个是什么问题的了 或者大家有什么更好的方法处理这种类型的判断
$datasy
Array ( [0] => Array ( [fieldid] => 110 [modelid] => 11 [siteid] => 1 [field] => ks [name] => 科室 [tips] => [css] => [minlength] => 0 [maxlength] => 0 [pattern] => [errortips] => [formtype] => box [setting] => array ( 'options' => '办公室', 'boxtype' => 'radio', 'fieldtype' => 'varchar', 'minnumber' => '1', 'width' => '80', 'size' => '1', 'defaultvalue' => '', 'outputtype' => '1', 'filtertype' => '0', ) [formattribute] => [unsetgroupids] => [unsetroleids] => [iscore] => 0 [issystem] => 1 [isunique] => 0 [isbase] => 1 [issearch] => 0 [isadd] => 1 [isfulltext] => 0 [isposition] => 0 [listorder] => 1 [disabled] => 0 [isomnipotent] => 0 [listyy] => 1 ) )
还有一个数组看下面的图片!空间不够了!

第1个回答  2012-06-04
为什么不把
if($s['listyy']==1){
提到第二个foreach 前面?
你这样不管是否符合条件,都要循环,很浪费啊
而且你不是用上一个循环的值作为下一个循环么?
$datas哪来的?
第2个回答  2012-06-01
foreach ($datasy as $s){
foreach ($s as $r) {
if($s['listyy']==1){
foreach ($datas as $c) {
?>
<td align='center' ><?php echo $c['ks'];?></td>
<?php
} }
}
}?>
第3个回答  2012-05-31
foreach ($datasy as $s){
foreach ($s as $r) {
if($s['listyy']==1){
?>
<td align='center' ><?php echo $r['ks'];?></td>
<?php
}
}
}?>

试试这样追问

那我的$datas这个数组里面的东西都没有得用上了
只是$datasy而已了

追答

你这俩个数组有关系吗,
没有关系完全可以用两个双层循环遍历二维数组,

我实在看不明白你的数组有什么作用。

第4个回答  2012-05-29
很想帮忙 但是看不懂你的问题 你拿这两个二维数组想实现什么结果?你是想让同一条数据只输出一遍么?追问

对的
出现一次
第一
就行了
现在是出现两次

追答

依然不很懂你的意思 不过按照你说的 我写一个类似的东西 看能不能帮到你

$arr1 = array(
array( "a", "b", "c"),
array( "d", "e", "f"));
$arr2 = array(
array( "g", "h", "i"),
array( "j", "k", "l"));

foreach($arr1 as $af)
{
foreach($arr2 as $gl)
{
if ($af[0] == "d")
echo $gl[1]."\n";
}
}

你会得到结果如下
h
k

其实我觉得你的情况描述的还是不清楚 如果我写的不是你要的 那就把你整段代码都补充在你的问题里吧 我再帮你看

第5个回答  2012-05-28
foreach ($datasy as $s){
if($s['listyy']==1){
?>
<td align='center' ><?php echo $r['ks'];?></td>
<?php
foreach ($datas as $r) {

}
}追问

你这个 foreach在下面 那上面怎么能调用$r['ks']

本回答被网友采纳