PHP基础之数组2

灰太狼 2022-06-10 10:27 283阅读 0赞

前面一篇我们简单介绍了以下数组的基本知识,这节我们主要了解在php中经常使用的数组函数。

  1. array array_pad(array $input,int $pad_size,mixed $pad_value)

这个函数用来填补数组,该函数用pad_value来填补数组元素至pad_zize的长度。如果pad_size>0,那么被填充的数组元素从input数组的末尾开始。如果为负值,那么就从input数组的开始位置填充。如果pad_size 小于数组原有长度,那么不进行填充。

  1. $ArrayPad = [15, 20, 6];
  2. echo"<pre>";
  3. $result = array_pad($ArrayPad, 6, -1);
  4. print_r($result);
  5. $result = array_pad($ArrayPad, -6, -1);
  6. print_r($result);
  7. $result = array_pad($ArrayPad, 2, -1);
  8. print_r($result);
  9. echo "<br/>";

输出:

  1. Array
  2. (
  3. [0] => 15
  4. [1] => 20
  5. [2] => 6
  6. [3] => -1
  7. [4] => -1
  8. [5] => -1
  9. )
  10. Array
  11. (
  12. [0] => -1
  13. [1] => -1
  14. [2] => -1
  15. [3] => 15
  16. [4] => 20
  17. [5] => 6
  18. )
  19. Array
  20. (
  21. [0] => 15
  22. [1] => 20
  23. [2] => 6
  24. )

2.array array_fill(int $start_index,int $num,mixed $value)

和array_pad函数类似,都是用特定值来填充数组。用value值将数组填充num个数目。如果start_index为正数,那么数组的键由start_index,start_index+1…..start_index+num-1构成。

如果start_index为负数,那么数组的键值由start_index,0….num-1构成。

  1. $array1 = array_fill(2, 5, "Hello");
  2. $array2 = array_fill(-2, 5, "World");
  3. //填充为二维数组
  4. $array3 = array_fill(3, 2, $array2);
  5. echo"<pre>";
  6. print_r($array1);
  7. print_r($array2);
  8. print_r($array3);
  9. echo "<br/>";

输出:

  1. Array
  2. (
  3. [2] => Hello
  4. [3] => Hello
  5. [4] => Hello
  6. [5] => Hello
  7. [6] => Hello
  8. )
  9. Array
  10. (
  11. [-2] => World
  12. [0] => World
  13. [1] => World
  14. [2] => World
  15. [3] => World
  16. )
  17. Array
  18. (
  19. [3] => Array
  20. (
  21. [-2] => World
  22. [0] => World
  23. [1] => World
  24. [2] => World
  25. [3] => World
  26. )
  27. [4] => Array
  28. (
  29. [-2] => World
  30. [0] => World
  31. [1] => World
  32. [2] => World
  33. [3] => World
  34. )
  35. )

3.array_fill_keys(array $keys,mixed$value)

实用vaue作为值,将keys数组的值作为键值来填充数组。

  1. //array_fill_keys
  2. $keys = array("ha", 10, 4, true);
  3. $fill_array0 = array_fill_keys($keys, "Hello World");
  4. echo"<pre>";
  5. print_r($fill_array0);
  6. echo "<br/>";

输出:

  1. Array
  2. (
  3. [ha] => Hello World
  4. [10] => Hello World
  5. [4] => Hello World
  6. [1] => Hello World
  7. )
  1. mixed array_rand(array $input [,$num_req = 1])

随机输出input数组中的num_req个单元。

  1. //array_rand
  2. echo"<pre>";
  3. $keys = array("ha", 10, 4, true);
  4. $arr_rand = array_rand($keys, 1);
  5. print_r($arr_rand);
  6. echo "<br/>";
  7. $arr_rand2 = array_rand($keys, 2);
  8. print_r($arr_rand2);
  9. echo "<br/>";
  10. $arr_rand3 = array_rand($keys, 5);
  11. print_r($arr_rand3);
  12. echo "<br/>";

输出:

  1. 2
  2. Array
  3. (
  4. [0] => 1
  5. [1] => 3
  6. )
  7. Warning: array_rand(): Second argument has to be between 1 and the number of elements in the array in E:\PHP\PHP_Array2\PHP_Array2.php on line 58

可见参数num_req的取值范围是1-count($input)即input数组长度

从上面的结果我们可以看出当取值为1时,返回的结果是稍有不同的。如果取值为num_req为1,那么返回的是取出的随机单元的键名。而另外一种情况则是返回一个数组。

今天就到这里了,明天在接着说一下数组排序,遍历,增删。

发表评论

表情:
评论列表 (有 0 条评论,283人围观)

还没有评论,来说两句吧...

相关阅读

    相关 PHP源码的内部实现

    哈希表 基本上,PHP里面的所有东西都是哈希表。不仅仅是在下面的PHP数组实现中,它们还用来存储对象属性,方法,函数,变量还有几乎所有东西。 因为哈希表对PHP来说太基

    相关 PHP基础2

    前面一篇我们简单介绍了以下数组的基本知识,这节我们主要了解在php中经常使用的数组函数。 1. array array\_pad(array $input,int $pad\