我想我需要一些关于递归的解释......我在论坛上查看了一些相同的问题,但它对我没有多大帮助。
这是我的功能:
public function tas ($nb_gift, array $winners)
{
if ( !empty( $nb_gift ) ){
$id_winner = rand( 10, 15 );
if ( !$this->_in_array_r($id_winner, $winners) ){
$existing_user = $this->getWinner( $id_winner );
}
if( !empty( $existing_user ) && $nb_gift > 0 ){
$winners[] = array( $existing_user, 'iphone5');
$this->tas($nb_gift - 1, $winners);
}
else {
if($nb_gift > 0)
{
$this->tas($nb_gift, $winners);
}
}
}
else {
//print_r($winners);
return $winners;
}
}
最后,我有一个由获胜者组成的数组。即使 print_r 有效,返回也不会给我我的数组。该功能是否需要一些优化?