定义数组

1.使用array关键词定义数组

$arr=array('1',2,'fuqiang');

2.用中括号包裹数组

$arr1=[1,2,3,4,5];

3.隐形式定义数组:

$变量[] = 值1; //如果不提供下标也可以,系统自动生成(数字:从0开始)
$变量[下标] = 值;//中括号里面的内容称之为下标key,该下标可以是字母(单词)或者数字,与变量命名的规则相似

 $arr3[]=1;
 $arr3[10]=100;
 $arr3[]='1';
 $arr3['key']='key';
 var_dump($arr3);

PHP数组的特点:
1.数组的下标可以为 整数数字 也可以是 字符串下标。

全部为整数数字的下标叫:索引数组。
全部为字符串的下标为:关联数组。

2.不同下标可以混合再:混合数组
3.数组元素的顺序与放入的前后为准,跟下标大小无关。
3.数字下标的如果默认的话是 自增长特性(从0开始自增长), 如果中间手动加了一个下标,如果这个下标比这个元素的下标都大的话那么会继续从这个下标开始继续增加1,如果比这个数组最大的下标小的话那么会覆盖到原先的下标,其他的下标不变。

小知识点:PHP中的数组是很大的数据,所以存储的位置是堆区,当前数组分配一块连续的内存。

多维数组

二维数组

<?php
    $inrfo=array(
      array('name'=>'jim','age'=>30),//第一种
        ['a',9,'hahahah',9897]//第二种
    );
    print_r($inrfo)
?>

请输入图片描述

数组的遍历

foreach
foreach遍历的原理:本质是数组的内部有一颗指针,默认是指向数组元素的第一个元素,foreach就是利用指针去获取数据,同时移动指针。

<?php
    $arr=array(1,2,3,4,5,6,7,8,9,10);
    //foreach循环
    //获取值
    foreach ($arr as $value){
        echo $value.'<br/>';
    }
    echo "<hr/>";
    //获取下标和值
    foreach ($arr as $k => $value){
        echo $k."=====".$value.'<br/>';
    }
    echo '<hr/>';
     $arr2=array(
         0=>array('name'=>'Tom','age'=>30),
         1=>array('name'=>'jim','age'=>28)
     );
    foreach ($arr2 as $value){
        echo $value['name'].$value['age'].'<br/>';
    }

?>

for遍历

for循环:是知道已知边界条件(起始和结束)然后有条件的变化。
1.获取数组的长度,知道元素的长度。
2.必须数组数字的下标是规律的数字。

$arr=array(1,2,3,4,5,6,7,8,9,10);
  #for遍历循环
    for ($i=0,$len=count($arr);$i<$len;$i++){
        echo '键是'.$i.'值是'.$arr[$i].'<br/>';
    }