PHP数组

什么是数组

数组可以理解为有序的(键-值)对组成的数据值的集合; 如果我们把变量理解为单个值的容器,那么数组就是可以包含多个值的容器; 根据索引值的不同数组分为:索引数组和关联数组;

$week = array("a"=> "星期一", "b"=>"星期二", "c"=> "星期三");//a是键,星期一是值

创建数组

与其它语言的数组实现方式不同,php不需要在创建数组时指定其大小;
因为php是一种松散类型的语言,所以甚至不需要在使用前先声明;
索引可以是整型数字或者是字符串;
索引数组:索引为整数,如果没有指定索引值则默认为零,依次递增;
关联数组:索引为字符串的数组;

例:

  $arr = array();
  $fruits = array("orange", "apple", "banana");
  $languages = array("en"=> "english", "cn"=> "china");

  $arr[key] = value;  直接对数组变量赋值

如果方括号中没有指定索引,则取当前最大整数索引值,新的键名将是该值 + 1。
如果当前还没有整数索引,则键名将为0。如果指定的键名已经有值了,该值将被覆盖。

例:
  $fruits[] = "orange";
  $fruits[] = "apple";
  $languages["en"] = "english";
  $languages["cn"] = "china";

使用函数创建数组  range() 建立一个包含指定范围单元的数组

例:
  $num = range(1, 100);
  var_dump($num);

  $letter = range('a','I');
  var_dump($letter);

删除数组或数组元素

删除数组或数组元素  (注意:删除数组元素不会重建索引)

unset 释放给定的变量

例:
    $fruits = array('apple', 'banana', 'orange');
    print_r($fruits);
    unset($fruits[1]);
    print_r($fruits);

常用的数组函数

1.print_r() 打印数组
    $today = getdate();
    print_r($today);

2.count() 取得数组大小
    count($week); 

3.in_array() 检查数组中是否包含某个值
    in_array('apple', $fruits);
    var_dump(in_array('apple', $fruits));

数组排序

sort() 、 rsort() 对数组进行升序和降序

例:

  $fruits = array("lemon", "orange", "banana", "apple");
  sort($fruits);
  print_r($fruits);

ksort()、krsort() 对数组按索引进行升序或降序, 并保持索引关系

例:

  $fruits = array("l"=>"lemon", "o"=>"orange", "b"=>"banana", "a"=>"apple");
  ksort($fruits);
  print_r($fruits);

字符串与数组转换

explode  explode() 函数把字符串打散为数组。

例:
  $str = "1,2,3,4,5,6";
  $arr = explode(',', $str);
  print_r($arr);

implode  implode() 函数将数组元素连接成字符

例:
    $arr = array('a','b', 'c', 'd');
    $str = implode('|', $arr );
    echo $str;
array_rand
array_rand() 函数从数组中随机选出一个或多个元素,并返回。
第二个参数用来确定要选出几个元素。如果选出的元素不止一个,则返回包含随机键名的数组,否则返回该元素的键名。
注释:自 PHP 4.2.0 起,不再需要用 srand() 或 mt_srand() 函数给随机数发生器播种,现已被自动完成。
参数 描述
array 必需。规定输入的数组参数
number 可选。默认是 1。规定返回多少个随机的元素
例:
    $a = array("a" => "Dog", "b" => "Cat", "c" => "Horse");
    print_r(array_rand($a, 2));

    $array = array(
        'fruit1' => 'apple',
        'fruit2' => 'orange',
        'fruit3' => 'grape',
        'fruit4' => 'apple',
        'fruit5' => 'apple'
    );
    print_r(array_rand($array, 1));
array_sum
array_sum() 函数返回数组中所有值的总和。

如果所有值多是整数,则返回一个整数值。如果其中有一个或多个值是浮点数,则返回浮点数。

PHP 4.2.1 之前的版本修改了传入的数组本身,将其中的字符串值转换成数值(大多数情况下都转换成了零,根据具体制而定)。
参数 描述
array 必需。规定输入的数组。
例:
    $a=array(0=>"5",1=>"15",2=>"25");
    echo array_sum($a);

array_key_first

获取指定数组的第一个键

$array = ['a' => 1, 'b' => 2, 'c' => 3];

$firstKey = array_key_first($array);

var_dump($firstKey);

array_key_last

获取一个数组的最后一个键值

$array = ['a' => 1, 'b' => 2, 'c' => 3];

$firstKey = array_key_last($array);

var_dump($firstKey);
powered by GitbookEdit Time: 2023-04-08 10:28:32