vue地区选择组件教程详解,PHP简单获取随机数的常用方法小结

本文实例讲述了PHP简单获取随机数的常用方法。分享给大家供大家参考,具体如下:


C语言字符串操作函数

概述

1.直接获取从min-max的数,例如1-20:

  1. 字符串反转 – strRev
  2. 字符串复制 – strcpy
  3. 字符串转化为整数 – atoi
  4. 字符串求长 – strlen
  5. 字符串连接 – strcat
  6. 字符串比较 – strcmp
  7. 计算字符串中的元音字符个数
  8. 判断一个字符串是否是回文
    **
  9. 写一个函数实现字符串反转**

主要用于全国地区数据的操作,包括省,市,区三级联动,地区数据的添加和删除;
在操作地区数据时,以前也用过树形的地区选择组件,但因其在再操作大量的地区数据时,渲染缓慢,所以我们就换了另一种数据展示形式和交互形式,从而就有了这个组件。

$randnum = mt_rand(1, 20);

版本1 – while版

注意:该组件是 vue.js 组件

2.在一个数组里面随机选择一个(验证码的时候需要字母、数字混合的情况)

void strRev(char *s)
{
    char temp, *end = s + strlen(s) – 1;
    while( end > s)
    {
        temp = *s;
        *s = *end;
        *end = temp;
        –end;
        ++s;
    }
}

demo

function randUid(){
 $str = "1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20";//要显示的字符,可自己进行增删
 $list = explode(",", $str);
 $cmax = count($list) - 1;
 $randnum = mt_rand(0, $cmax);
 $uid = $list[$randnum];
}

版本2 – for版

抢鲜体验请点击这里
demo

PS:这里再为大家提供两款功能类似的在线工具供大家参考:

void strRev(char *s)
{
    char temp;
    for(char *end = s + strlen(s) – 1; end > s ; –end, ++s)
    {
        temp = *s;
        *s = *end;
        *end = temp;
    }
}

API

在线随机数字/字符串生成工具:

版本3 – 不使用第三方变量

Props

高强度密码生成器:

void strRev(char *s)
{
    for(char *end = s + strlen(s) – 1; end > s ; –end, ++s)
    {
        *s ^= *end;
        *end ^= *s;
        *s ^= *end;
    }

参数 类型 说明
area Array 传入组件的地区的数据

更多关于PHP相关内容感兴趣的读者可查看本站专题:《php字符串(string)用法总结》、《PHP数据结构与算法教程》、《php程序设计算法总结》、《php排序算法总结》、《PHP常用遍历算法与技巧总结》、《PHP数学运算技巧总结》、《PHP数组(Array)操作技巧大全》及《php常见数据库操作技巧汇总》

版本4 – 重构版本3

Events

希望本文所述对大家PHP程序设计有所帮助。

void strRev(char *s)
{
    for(char *end = s + strlen(s) – 1; end > s ; –end, ++s)
    {
        *s ^= *end ^= *s ^= *end;
    }
}

事件名 参数 说明
selected area 组件中选中的地区

您可能感兴趣的文章:

  • 深入理解PHP中mt_rand()随机数的安全
  • PHP获取redis里不存在的6位随机数应用示例【设置24小时过时】
  • PHP基于自增数据如何生成不重复的随机数示例
  • php
    指定范围内多个随机数代码实例
  • php获取一定范围内取N个不重复的随机数
  • PHP随机数 C扩展随机数
  • php
    利用array_slice函数获取随机数组或前几条数据
  • php简单生成随机数的方法
  • php源码分析之DZX1.5随机数函数random用法
  • PHP的伪随机数与真随机数详解
  • PHP生成随机数的方法总结

版本5 – 重构版本4

详细说明

void strRev(char *s)
{
    for(char *end = s + strlen(s) – 1; end > s ; *s++ ^= *end ^= *s ^= *end–);
}

Props

版本6 – 递归版

area

void strRev(const char *s)
{
    if(s[0] == ‘\0’)
        return;
    else
        strRev(&s[1]);
    printf(“%c”,s[0]);
}

area 参数是必选项,表示组件初始化时的地区数据,可以为空。 area
是一个包含多个对象的数组,其中每个对象的数据结构如下:

2. 实现库函数strcpy的功能

...
area: [
 {Name: '北京', ID: '01'},
 {Name: '南京', ID: '0401'},
 {Name: '西湖区', ID: '060105'}
],
...

strcpy函数位于头文件<string.h>中

因为后来在实际的使用中,发现有时候,后台只会返回一个地区的 ID
值,所以这里做了优化,可以只传入 ID 的值,比如这样:

版本1

...
area: [
 {ID: '01'},
 {ID: '0401'},
 {ID: '060105'}
],
...

strcpy(char * dest, const char * src)
{
    char *p=dest;
    while(*dest++ = *src++)
        ;
    dest=p;
}

selected

版本2

selected
是由组件内部发布的一个事件,你可以在组件外面订阅这个事件,从而得到它返回的值,这个值就是组件当前选中的所有的地区,返回的这个值是由多个包含地区数据的对象组成的数组,数据结构和
area 参数一样

char * __cdecl strcpy(char * dst, const char * src)
{
    char *p = dst;
    while( *p ++ = *src ++ )
        ;
    return dst;
}

简单的例子

版本3

<div>
  <addressmap :area="area" @selected="selected"></addressmap>
</div>

strcpy(char * dest, const char * src)
{
    int i=0;
    for(; *(src+i)!=’\0′; i++)
        *(dest+i) = *(src+i);
    *(dest+i) = ‘\0’;
}

安装和使用

**

npm install adc-addressmap

  1. 实现库函数atoi的功能**

若作为全局组件使用

atoi函数位于头文件<stdlib.h>中

//在项目入口文件
import Vue from 'vue'
import Addressmap from 'adc-addressmap'
Vue.component('Addressmap', Addressmap)
若作为局部组件
//在某个组件中
import Addressmap from 'adc-addressmap'
export default {
...
 components: { Addressmap},
...
}

版本1 – 附说明

总结

发表评论