1、當某個教練查看自己學員的時候,可以通過獲取學員身份證號,然後在怎麼通過不同的身份證號獲取學員的登錄名(可用視圖實現,userinfo表和studentinfo表進行拼接)
解決:
functionarrTostr ($arr)//把二維數組轉化爲字符串
{
foreach ($arr as $v)
{
$v = join(",",$v); //可以用implode將一維數組轉換爲用逗號連接的字符串
$temp[] = $v;
}
$t="";
foreach($temp as $v){
$t.="".$v.",";
}
$t=substr($t,0,-1);
return $t;
}
$rs1= M('studentinfo')->field('IDcard')->where($where)->select(); //二維數組
$rs2 = $this->arrTostr($rs1);//通過arr2str()函數把二維數組rs1轉化成字符串rs2
$sql['IDcard'] = array('in', $rs2);
$b=M('userinfo')->field(array('Loginname'))->where($sql)->select()
注意:implode()函數只對一維數組和字符串有用
2、 兩個二維數組怎麼對應拼接起來,用array_merge()好像不行,並不是一一對應拼接
解決:
$a= M('studentinfo')->field(array('Studentname', 'IDcard','Sex', 'Phone', 'Signdate', 'Remarks'))->where($where)->select();
$b=M('userinfo')->field(array('Loginname'))->where($sql)->select();
//$a,$b表示要拼接的兩個數組
下面實現拼接
$rs=array();
Foreach($a as $key=>$r){
$rs[]=array_merge($b[$key],$r);
}
Print_r($rs);//這樣就實現了兩個二維數組的拼接