美文网首页php
PHP 能够创建数组的方法

PHP 能够创建数组的方法

作者: 彭晓华 | 来源:发表于2017-05-18 15:33 被阅读7次

    array() | [ ] | array_fill() | array_fill_keys() | compact() | range() | explode()


    常用的方法包括:
    array() 手工创建基础的数组
    [ ] 直接赋值给一个变量;
    array_fill() 创建一个规定了初始值,长度和所有键值的索引数组
    array_fill_keys() 创建一个规定的键名和所有键值的关联数组;
    compact() 根据 当前作用域范围内 已有的变量创建关联数组;
    range() 创建一个范围数组
    explode() 根据字符串返回数组;


    array()
    最基础的返回一个数组;

    语法结构1:
    return array array(mixed $val_1, mixed $val_2 ......)
    返回以键名 0 开头的索引数组;

    实例:
    print_r(array('bill','tom',33))

    return : array(0=>'bill',1=>'male',2=>33);

    语法结构2:
    return array array(mixed $key_1 => mixed $val_1,mixed $key_2=> mixed $val_2......)

    实例:
    print_r(array('name'=>'bill','sex'=>'male','age'=>33))

    return : array('name'=>'bill','sex'=>'male','age'=>33


    [ ]
    直接赋值给变量的写法;

    语法结构1:
    $a_name = [mixed $val_1 ,mixed $val_2]
    创建一个 标识符为a_name 的数组;

    实例:
    $a_name = ['bill','jack','tom'];

    实例:

    $a_personal_info = [['bill','worker',33].['tom','driver',20]]


    array_fill()
    创建一个规定了初始索引,长度和所有键值的数组;

    语法结构1:
    array_fill(int $star ,int $length, mixed $val)
    返回一个以 star 为初始索引值,$length 为长度,$val 为所有键值的索引数组;

    实例:
    print_r ( array_fill(0,3,'bill'));

    return : array('bill','bill','bill');


    array_fill_keys()
    创建一个以其他数组的键值为键名,指定了同一键值的关联数组;

    语法结构1:
    array_fill_keys(array $keys,mixed $val)
    返回一个以数组 $keys 的键值为键名,$val 为键值的关联数组;

    实例:
    $a_keys = array('bill','tom','jack');
    array_fill_keys($a_keys,33);

    return : array('bill'=>33,'tom'=>33,'jack'=>33);


    compact()
    把变量转化为数组;
    创建一个以 当前作用域范围内 已有变量为键名,变量值为键值的关联数组;
    注意: 不许再这个作用范围内的变量;

    语法结构1:
    compact(str $var_name_1,str $var_name_2......)
    str $var_name --已有变量名称的字符串,如果该字符串不是已有变量的标识符,会忽略这个字符串;

    实例:
    $first_name = 'paul';
    $last_name = 'smith';
    $a_smith_info = compact('first_name'm,'last_name');

    return : array('first_name'=>'paul','last_name'=>'smith');

    语法结构2:
    compact(array $array);
    array $array -- 数组的键值是已有变量名称的字符串;

    实例:
    $first_name = 'paul';
    $last_name = 'smith';
    $a = array('first_name','last_name')
    $a_smith_inof = compact($a);

    return : array('first_name'=>'paul','last_name'=>'smith');

    相关:
    extract() 把数组转化成变量;
    list() = array() 把键值赋值给变量;


    range()
    创建一个范围数组;

    语法结构1:
    range(int $star ,int $end [,int $step])
    创建一个 $star -$end 之间的,步调为 $step 的数组;如果最后的步调!= $end 返回的数组里面不包括$end;

    实例:
    print_r( range(1,10,2))

    return : array(1,3,5,7,9);

    语法结构2:
    range(char $star ,char $end [,int $step])
    创建一个键值为字符的索引数组;
    需要注意的是字符的范围不仅仅是52个大小写英文字母,同时还包括 [ \ ] ^ _` 这5个字符;

    实例:
    print_r(range('Z','a'))

    return : array('Z','[','',]'','^','_','`','a');


    explode()
    把字符串转化为索引数组;

    语法结构1:
    explode(str $separator, str $str)
    把字符串按照 str $separator 分割成数组返回;

    实例:
    $str_name = 'bill&tom&jack&david';
    explode('&',$str_name)
    return array('bill','tom','jack','david')

    语法结构2:
    explode(str $separator, str $str, int $length);
    int $length >= 0 把字符串按照 int $length 分割成指定长度的数组返回;

    int $length <=0 把字符串全部充分分割成数组后,返回 减去 int $length;个元素后的数组;

    实例:
    $str_name = 'bill&tom&jack&david';
    explode('&',$str_name,0) => return array('bill&tom&jack&david');
    explode('&',$str_name,3) => return array('bill','tom','jack&david');
    explode('&',$str_name,-1)=> return array('bill','tom','jack')

    相关:
    implode(str $connector ,array $array) return string;


    相关文章

      网友评论

        本文标题:PHP 能够创建数组的方法

        本文链接:https://www.haomeiwen.com/subject/irmsxxtx.html