php 遍历二维数组 判断 50

<?phpforeach($datasyas$s){foreach($datasas$r){if($s['listyy']==1){?><tdalign='center'... <?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 ) )
还有一个数组看下面的图片!空间不够了!
展开
 我来答
通亮且明智的小东风3437
2012-06-04 · 超过15用户采纳过TA的回答
知道答主
回答量:59
采纳率:0%
帮助的人:49.9万
展开全部
为什么不把
if($s['listyy']==1){
提到第二个foreach 前面?
你这样不管是否符合条件,都要循环,很浪费啊
而且你不是用上一个循环的值作为下一个循环么?
$datas哪来的?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ggxzyuan
2012-06-01
知道答主
回答量:14
采纳率:0%
帮助的人:11.1万
展开全部
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
} }
}
}?>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
古龙朝雨3D
2012-05-31
知道答主
回答量:43
采纳率:100%
帮助的人:15.7万
展开全部
foreach ($datasy as $s){
foreach ($s as $r) {
if($s['listyy']==1){
?>
<td align='center' ><?php echo $r['ks'];?></td>
<?php
}
}
}?>

试试这样
追问
那我的$datas这个数组里面的东西都没有得用上了
只是$datasy而已了
追答
你这俩个数组有关系吗,
没有关系完全可以用两个双层循环遍历二维数组,

我实在看不明白你的数组有什么作用。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
vaxiaj
2012-05-29 · TA获得超过242个赞
知道答主
回答量:67
采纳率:0%
帮助的人:75万
展开全部
很想帮忙 但是看不懂你的问题 你拿这两个二维数组想实现什么结果?你是想让同一条数据只输出一遍么?
追问
对的 
出现一次
第一
就行了
现在是出现两次
追答
依然不很懂你的意思 不过按照你说的 我写一个类似的东西 看能不能帮到你

$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

其实我觉得你的情况描述的还是不清楚 如果我写的不是你要的 那就把你整段代码都补充在你的问题里吧 我再帮你看
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yangyze
2012-05-28 · TA获得超过364个赞
知道小有建树答主
回答量:542
采纳率:0%
帮助的人:345万
展开全部
foreach ($datasy as $s){
if($s['listyy']==1){
?>
<td align='center' ><?php echo $r['ks'];?></td>
<?php
foreach ($datas as $r) {

}
}
追问
你这个 foreach在下面 那上面怎么能调用$r['ks']
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式