我有一个php foreach循环问题。 如何能够双重循环,通过筛选,得到想匹配的东东呀。 找大师求救。。。
如何能够双重循环,通过筛选,得到想匹配的东东呀。如:array1={A,B,C,D};array2={A1,A2,C1,C2,C5,D3}理想状态是想要让它能这样分类:A...
如何能够双重循环,通过筛选,得到想匹配的东东呀。
如:array1={A,B,C,D};
array2={A1,A2,C1,C2,C5,D3}
理想状态是想要让它能这样分类:
A :A1,A2;
B;
C:C1,C2,C5;
D:D3 展开
如:array1={A,B,C,D};
array2={A1,A2,C1,C2,C5,D3}
理想状态是想要让它能这样分类:
A :A1,A2;
B;
C:C1,C2,C5;
D:D3 展开
展开全部
这个如果都是一维数组,你可以这么写:
<?php
$array1= array('A','B','C','D');
$array2=array('A1','A2','C1','C2','C5','D3');
foreach($array1 as $arr1){
echo $arr1.":";
$arr2_len = count($array2)-1;
foreach($array2 as $k => $arr2){
if(strpos($arr2,$arr1)!==false){
echo $arr2.",";
}else{
if($k==$arr2_len){
echo '<br/>' ;
}
}
}
}
?>
<?php
$array1= array('A','B','C','D');
$array2=array('A1','A2','C1','C2','C5','D3');
foreach($array1 as $arr1){
echo $arr1.":";
$arr2_len = count($array2)-1;
foreach($array2 as $k => $arr2){
if(strpos($arr2,$arr1)!==false){
echo $arr2.",";
}else{
if($k==$arr2_len){
echo '<br/>' ;
}
}
}
}
?>
更多追问追答
追问
这个办法很好。但是,我真正的问题还不是这个。如果,array1和array2是从不同的两个表中取出的有关联的不同字段,应该怎么办呢?
如:array1是job 表,array2是company表。
现在我要列出总共有多少个公司(com),每个公司里各有什么职位(job)
并用smarty加载来展示出来。
大侠,请再考虑考虑。谢谢。
追答
你的数据表建的有问题吧.... 这个一般的做法是建数据表的时候工作表里面有公司id字段的!
而且,我好久没用过smarty了! 既然类似,就有解决办法,多动动脑~ 说不定下一秒就出来了呢~
展开全部
like 模糊查询试试,根据 array1的数据 在2 里面查找! 这年头,在for循环写这个高深的东西的人还真不多了!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可以这样写:
$arr1 = array('A','B','C','D');
$arr2 = array('A1','A2','C1','C2','C5','D3');
foreach($arr1 as $v){
$data = $v.":";
foreach($arr2 as $x){
if(strpos($x,$v) === 0){
$data .= $x.',';
}
}
$data = substr( $data , 0, strlen($data)-1 );
echo $data.';';
echo "</br>";
}
$arr1 = array('A','B','C','D');
$arr2 = array('A1','A2','C1','C2','C5','D3');
foreach($arr1 as $v){
$data = $v.":";
foreach($arr2 as $x){
if(strpos($x,$v) === 0){
$data .= $x.',';
}
}
$data = substr( $data , 0, strlen($data)-1 );
echo $data.';';
echo "</br>";
}
更多追问追答
追问
这个办法很好。但是,我真正的问题还不是这个。如果,array1和array2是从不同的两个表中取出的有关联的不同字段,应该怎么办呢?
如:array1是job 表,array2是company表。
现在我要列出总共有多少个公司(com),每个公司里各有什么职位(job)
并用smarty加载来展示出来。
大侠,请再考虑考虑。谢谢。
追答
上面那位大侠说的对啊,要是这样你就是在job里面缺了一个类是com_id的字段,你只要取出来数据smarty展示就不是问题。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询