1) { if (isset($params['sub_place']) && is_numeric($params['sub_place'])) { $temp = array(); foreach ($params['from'] as $key => $value) { if ($value['sub_place'] == $params['sub_place']) { $temp[$key] = $value; } } if (count($temp) == 1) { $temp = array_keys($temp); $smarty->assign($params['var'], $temp[0]); } elseif (count($temp) > 1) { $temp = array_keys($temp); $smarty->assign($params['var'], $temp[rand(0, count($temp) - 1)]); } else { $smarty->assign($params['var'], rand(0, (count($params['from']) - 1))); } } else { $smarty->assign($params['var'], rand(0, (count($params['from']) - 1))); } } else { $smarty->assign($params['var'], 0); } } ?>