php中处理换一换的简单实例

微博中,有很多标签供用户选择,点击换一换的时候,都会不断切换。

php程序的简单实现如下:

//查询所有标签

$labels = Labels::find()->setColumns('id,w_name,w_uid')->order('w_time desc')->group('w_name')->getAll();

$label_list = array();

foreach ( $labels as $key => $value ){

$label_list[$key]['id'] = $value->id;//标签id

$label_list[$key]['name'] = $value->w_name;//标签名称

}

$label_num = count($label_list) > 15?15:count($label_list);

$tempArr = array();

$labelArr = array();

if ( $label_num ){

$tempArr = array_rand($label_list,$label_num);//随机取出二维数组的键

if ( is_array($tempArr) ){

foreach ( $tempArr as $value ){

$labelArr[] = $label_list[$value];

}

}else{//数量只有一个的时候,array_rand取出来的值不是一个数组

$labelArr[] = $label_list[$tempArr];

}

}

unset($label_list,$tempArr);

//查询我的标签

$mylabels = Labels::find('w_uid = ?',$_SESSION['userinfo']['userid'])->setColumns('id,w_name')->order('w_time desc')->limit(0,10)->getAll();

$this->_view['labels'] = $labelArr;

$this->_view['mylabels'] = $mylabels;