数组

数组基本概念

直接赋值声明数组

  1. 一个数组中存的是多个内容, 数组中的内容叫作 “元素”
  2. 每个元素都是由 键和值 组成的 key/ value key下标
    $a = array("one"=>"11111111", "two"=>"222222222");
  3. 就是通过 key 使用 值
    下标有两种类型: 一种是整数(索引数组), 一种是字符串(关联数组)
    []来操作下标, 也可以使用{}进行互换, 建议使用 []来指定下标
  4. 在使用下标时,如果是关联数组, 一定要使用引号, 不要使用常量名称
  5. 数组的自动增涨下标, 默认是从0开始的, 自动增涨的都是出现过的最大值加1
  6. 关联数组的字符串下标, 不会影响索引下标的排列规则!
  7. 使用array()函数声明数组, 默认是索引的下标, 是从0开始
  8. 使用 => 符号指定下标
    php5.4以后, 可以像其他语言一样声明数组了
  9. 删除数组中的一个元素使用unset(), 下标不会重新索引, 需要使用array_values()函数重新索引

直接赋值:

    $arr[0] = 1;
    $arr[1] = 2;
    $arr[2.7] = 3;
    $arr[true]=5;
    $arr[false]=6;
    $arr[null]=7;

    $arr{'one'} = 1;
    $arr['two'] = 2;
    $arr['three'] = 3;

    print_r($arr);

数组下标排列规则:

$arr[]=10;    //0
$arr[]=10;   //1
$arr[]=10;    //2
$arr[8]=10;   //8
$arr[]=10;    //9
$arr[9]=11;   //9
$arr[]=10;    //10
$arr[4]=44;   //4;

$arr[] = 55;  //

$arr['one']=66;

$arr[] = 99;

$arr[-100]=-100;
$arr[] = 'aa';

echo '<pre>';
print_r($arr);
echo '</pre>';

声明数组:

function demo() {
        return array("one", "two", "three");
    }

    $arr = demo();

    echo $arr[0];
    echo '<br>';


    echo demo()[1];

删除数组:

$arr = ["one", "two", "three", "four"];

    unset($arr[2]);

    $arr = array_values($arr);

    print_r($arr);

循环删除数组例子:

function xdw($m, $n) {
    $arr = array();

    $a = "a";

    for($i=0; $i<$m; $i++) {
        $arr[] = $a++;
    }

    $i=0;
    while(count($arr) > 1) {

        if($i%$n == 0) {
            unset($arr[$i]);
        } else {
            $arr[] = $arr[$i];
            unset($arr[$i]);

        }

        $i++;
    }

    return $arr;

}

print_r(xdw(80, 7));

二维数组:(数组的数组)

<?php
// $one = array("name"=>"zs","age"=>20,"sex"=>"男","email"=>"aaaaa@.com");
// $two = array("name"=>"ls","age"=>21,"sex"=>"女","email"=>"bbbbb@.com");
// $three = array("name"=>"ww","age"=>22,"sex"=>"男","email"=>"ccccc@.com");
//
// $group=array($one,$two,$three);

$group=array(
        array("name"=>"zs","age"=>20,"sex"=>"男","email"=>"aaaaa@.com"),
        array("name"=>"ls","age"=>21,"sex"=>"女","email"=>"bbbbb@.com"),
        "three"=>array("name"=>"ww","age"=>22,"sex"=>"男","email"=>"ccccc@.com")
);
// var_dump($group[1]);
// $arr=$group[1];
// echo $arr['email'];
// echo $group[1]['email'];
echo $group['three']['name'];

多维数组:

用类封装数组

<?php
// $class=[
// "group1"=>[
//               ["name"=>"zs","age"=>20,"sex"=>"男","email"=>"aaaaa@.com"],
//               ["name"=>"ls","age"=>21,"sex"=>"女","email"=>"bbbbb@.com"],
//               ["name"=>"ww","age"=>22,"sex"=>"男","email"=>"ccccc@.com"]
//       ],
//       [
//               ["name"=>"zs","age"=>20,"sex"=>"男","email"=>"aaaaa@.com"],
//               ["name"=>"ls","age"=>21,"sex"=>"女","email"=>"bbbbb@.com"],
//               ["name"=>"ww","age"=>22,"sex"=>"男","email"=>"ccccc@.com"]
//       ],
//       [
//               ["name"=>"zs","age"=>20,"sex"=>"男","email"=>"aaaaa@.com"],
//               ["name"=>"ls","age"=>21,"sex"=>"女","email"=>"bbbbb@.com"],
//               ["name"=>"ww","age"=>22,"sex"=>"男","email"=>"ccccc@.com"]
//       ]
// ];
// echo $class[0][1]['age'];

第一个方括号不管有没有顺序排,第二个不填默认为0

$group[9][1]="zs";
$group[][1]=20;
$group[][1]='ls';
$group[][1]=21;

echo '<pre>';
print_r($group);
echo '</pre>';
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Javascript有很多数组的方法,有的人有W3C的API,还可以去MDN上去找,但是我觉得API上说的不全,M...
    顽皮的雪狐七七阅读 9,691评论 0 6
  • 第三章 数组 数组是一个可以存储一组或一系列数值的变量 一个包含其他数组的数组称为多维数组。 关联数组允许使用更...
    梁烨端木阅读 4,032评论 0 0
  • 数组的概述 PHP 中的数组实际上是一个有序图。图是一种把 values 映射到 keys 的类型。此类型在很多方...
    dptms阅读 5,526评论 0 4
  • 要访问一个变量的内容,可以直接使用其名称。如果该变量是一个数组,可以使用变量名称和关键字或索引的组合来访问其内容。...
    恩德_b0c2阅读 2,985评论 0 0
  • 一、数组操作的基本函数 数组的键名和值 array_values($arr);获得数组的值,返回含所有值的索引数组...
    zshanjun阅读 4,151评论 0 2