Masalah pengulangan PHP, sila bantu
给你一个大大的么么
给你一个大大的么么 2017-11-17 11:37:06
0
3
1074
已经有数据
id  fid
23  0
27  23
28  23
34  38
33  0

//getID 是从数据库取出来的,目前 23 和 33 
foreach ($getID as $k => $v) {
    $allAgentID = getAllID($v);
    print_r($allAgentID);
}

function getAllID($uid){
	global $empire,$dbtbpre,$userid;
	$userid[] =$uid ;
	$s= "select userid from {$dbtbpre}enewsmember where fid='".$uid."' and checked=1 order by userid asc";
	$sql=$empire->query($s);
	while($u=$empire->fetch($sql)) {
	    getAllID($u[userid]);
	}
	return $userid;
}

//输出结果
Array    
(    
[0] => 23    
[1] => 27    
[2] => 28    
[3] => 34    
)    
Array    
(    
[0] => 23    
[1] => 27    
[2] => 28    
[3] => 34    
[4] => 33    
)      

为什么当$v=33的时候没有清楚之前的数组,还把之前的数组合并在一起

请问有什么办法能得到以下数组吗?
当$v=23时
Array    
(    
[0] => 23    
[1] => 27    
[2] => 28    
[3] => 34    
)  

当$v=33时  
Array    
(    
[4] => 33    
)


给你一个大大的么么
给你一个大大的么么

membalas semua(2)
易风课堂

Oleh kerana anda menggunakan pembolehubah global, ia tidak akan dimusnahkan semasa keseluruhan proses menjalankan program. Secara amnya, ia akan muncul apabila anda memanggil kaedah ini dalam sekeping kod Jika ia hanya dipanggil sekali dalam halaman, tiada masalah dalam penulisan seperti ini.

Anda boleh mengubah fikiran anda dan menukar panggilan rekursif di bawah. Cuba jangan gunakan yang global Di sini, anda boleh terus menggunakan pembolehubah tatasusunan untuk mengendalikannya.

  • balas Terima kasih, saya menambahkan & dalam getAllID($uid) getAllID(&$uid) akan melakukan silap mata.
    给你一个大大的么么 pengarang 2017-11-20 10:05:45
给你一个大大的么么

Bolehkah anda membantu saya?

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan