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 ) )
还有一个数组看下面的图片!空间不够了! 展开
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 ) )
还有一个数组看下面的图片!空间不够了! 展开
展开全部
为什么不把
if($s['listyy']==1){
提到第二个foreach 前面?
你这样不管是否符合条件,都要循环,很浪费啊
而且你不是用上一个循环的值作为下一个循环么?
$datas哪来的?
if($s['listyy']==1){
提到第二个foreach 前面?
你这样不管是否符合条件,都要循环,很浪费啊
而且你不是用上一个循环的值作为下一个循环么?
$datas哪来的?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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
} }
}
}?>
foreach ($s as $r) {
if($s['listyy']==1){
foreach ($datas as $c) {
?>
<td align='center' ><?php echo $c['ks'];?></td>
<?php
} }
}
}?>
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
foreach ($datasy as $s){
foreach ($s as $r) {
if($s['listyy']==1){
?>
<td align='center' ><?php echo $r['ks'];?></td>
<?php
}
}
}?>
试试这样
foreach ($s as $r) {
if($s['listyy']==1){
?>
<td align='center' ><?php echo $r['ks'];?></td>
<?php
}
}
}?>
试试这样
追问
那我的$datas这个数组里面的东西都没有得用上了
只是$datasy而已了
追答
你这俩个数组有关系吗,
没有关系完全可以用两个双层循环遍历二维数组,
我实在看不明白你的数组有什么作用。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
很想帮忙 但是看不懂你的问题 你拿这两个二维数组想实现什么结果?你是想让同一条数据只输出一遍么?
追问
对的
出现一次
第一
就行了
现在是出现两次
追答
依然不很懂你的意思 不过按照你说的 我写一个类似的东西 看能不能帮到你
$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
其实我觉得你的情况描述的还是不清楚 如果我写的不是你要的 那就把你整段代码都补充在你的问题里吧 我再帮你看
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
foreach ($datasy as $s){
if($s['listyy']==1){
?>
<td align='center' ><?php echo $r['ks'];?></td>
<?php
foreach ($datas as $r) {
}
}
if($s['listyy']==1){
?>
<td align='center' ><?php echo $r['ks'];?></td>
<?php
foreach ($datas as $r) {
}
}
追问
你这个 foreach在下面 那上面怎么能调用$r['ks']
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询