PHP 数组Array

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP 数组Array相关的知识,希望对你有一定的参考价值。

直接赋值声明数组

1.一个数组中存的是多个内容,数组中的内容叫做"元素"

2.每个元素都是由键和值组成的 key/value,key下标value对应的值

 $arr[]=0;$arr[2]=2; $arr[three]=3;

3.通过key使用值

下标有两种类型:一种是整数(索引数组),一种是字符串(关联数组)

4.[]来操作下标,也可以使用{}进行互换,建议用[]来指定下标

5.在使用下标时,如果是关联数组,一定要用引号,不要使用常量名称.

6.数组的自动增长下标,默认是从0开始的,自动增长的都是出现过的最大值加1

7.关联数组的字符串下标,不会影响所有下标的排列规则!

  使用array()函数声明数组,默认是索引的下标,是从0开始

8.使用 =>符号指定下标

9.php5.4以后,可以像其他语言一样声明数组了

$arr =[aaa,bbb,3=>hello,cccccccc];

10.删除一个数组中的一个元素,unset()函数允许删除数组中的某个键.

  但是要注意数组将不会重建索引,如果需要删除后重建索引,可以用array_values()函数.

应用实例:猴子选大王

技术分享
<?php

    function selectking($m,$n){
        $arr=array();
        $a =‘a‘;
        for($i=0;$i<$m;$i++){
            $arr[] = $a++;
        }

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

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

    var_dump(selectking(30,3));
?>
View Code

php二位数组和多维数组

数组的遍历

一.使用for语句循环遍历数组(保证数组,一定要是下标连续的索引数组)

不足:
  1.数组下标不一定是连续的

  2.关联数组for不能遍历出值

二.使用foreach语句遍历数组

 foreach(数组 as 自定义变量){
    ...
 }

  1.数组有多少个元素,foreach就循环多少次

  2.foreach会将数组中的元素 在每次循环中,依次将元素的值给自定义的变量,

  在每次循环中用到这个变量,即用到了当前数组中的元素.

foreach(数组 as 下标变量 =>值变量){
      if(is_array())
        ...
}

三.联合使用list(),each()和while循环遍历数组

  list()函数 但这个函数和其他函数的用法不同

  作用: 将数组中的元素转为变量使用

  1.等号左边使用list()函数,等号右边只能是一个数组

  2.数组中有几个元素,在list()中就有几个参数,而且参数必须是变量(新声明的自定义变量),不能是值

list($a,$b,$c) = array(‘zhangsan‘,‘lisi‘,‘wangwu‘);

  3.只能将索引数组(下标是连续的),转为变量,是按下标0开始找的.

  4.可以在list()参数中通过空项选择性的接收数组中的元素

list($a, ,$c) = array(‘zhangsan‘,‘lisi‘,‘wangwu‘);

  each()只是一个函数,参数就是一个数组作为参数,返回的值,也是一个数组

  1.返回的值是一个数组,数组固定有4个元素,而且下标也是固定的, 1(值) value(值) 0(下标) key(下标)

  2.each()只处理当前的元素(默认当前元素是第一个元素,指针指向第一个元素),将当前的元素转为数组信息,处理完后,指针向下一个元素移动

  3.如果指针已经在结束位置了,再使用each()获取元素,返回false

$arr = array(‘zhangsan‘,‘lisi‘,‘wangwu‘);

while(list($key,$val) = each($arr)){
        echo $key.‘,‘$val.‘<br/>‘;
}

使用数组的内部指针控制函数遍历数组

next(),prev(),end()及reset()

  这四个函数可以控制目前数组中的指针位置.next()负责将指针向后移动,prev()负责将指针向前移动;end()会将指针指向数组中最后一个元素,而reset()函数则会将目前指针无条件移至第一个索引位置,这几个函数的参数都是数组.

  key()获取当前数组的key键名,current()获取当前数组的value键值.

超全局数组

  超全局数组(变量),在php的脚本中,已经声明完的变量,你可以直接就去使用即可!变量的名字已经规定好的了.

$_SERVER

$_ENV

$_GET

$_POST

$_REQUEST

$_FILES

$_COOKIE

$_SESSION

$_GLOBALS

  1.数组(关联数组),就和我们自己声明的数组是一样的操作方式

  2.全局

  3.每个预定义的数组都有自己独特的功能

 

以上是关于PHP 数组Array的主要内容,如果未能解决你的问题,请参考以下文章

比较有用的php代码片段

PHP 代码片段

php计算数组相同值出现次数的代码(array_count_values)

C#通过Array.Clear部分清除数组的代码

php数组转php代码,php数组转php字符串

php数组转成php编程代码