神奇的PHP数组

目录

一: 数组的定义

二: 索引数组

三: 向索引数组中增加元素

四: 向索引数组中删除元素

五: 向索引数组中修改值

六: 索引数组的声明方式

七: 关联数组

八: 数组当中插入数组


一: 数组的定义

1.数组可以存入多个不同类型的数据,是一个复合数据类型;数组的英文是array;

2.数组中标签原样输出:

echo '</pre>';

3.eg:

<?php
$minren = array(
 '杨幂',
 '王珞丹',
 '刘亦菲',
 '黄圣依',
 '范冰冰'
 );
$minren[5] = '范爷';
$minren[2] = '亦菲,不要嫁给韩国人好吗?';
echo '<pre>';
var_dump($minren);
?>

效果:

array(6) {
  [0]=>
  string(6) "杨幂"
  [1]=>
  string(9) "王珞丹"
  [2]=>
  string(39) "亦菲,不要嫁给韩国人好吗?"
  [3]=>
  string(9) "黄圣依"
  [4]=>
  string(9) "范冰冰"
  [5]=>
  string(6) "范爷"
}

注意:

1).array(size = 6) 说明里面有6个元素;

2).最新前的0,1,2,3,4,5,代表的是值的读取标识号,我们称之为下标或者键(英文:key);

3).=> 是一个符号标准叫法叫作:键值对应符;因此,以后再看到 [0]=> "杨幂",可以这样来说,下标访问符0对应字符串杨幂;

4). 元素就是键值对的组合

二: 索引数组

1.概念: 索引数组就是下标全为整型的数组;

2.索引数组的下标必须要从0开始吗?

答: 索引数组并不一定要从0开始,可以自定义健值对应符;

3.eg:

<?php
$kele = array(
           '只有不断努力才能博得未来',
           10 => 'NoAlike',
           'PHP中文网' ,
           '去PHP中文网学PHP',
           19 => '凤姐和芙蓉我都爱' ,
           '杨幂我最爱'
       );
echo '<pre>';
var_dump($kele);
?>

效果:

array(6) {
  [0]=>
  string(36) "只有不断努力才能博得未来"
  [10]=>
  string(7) "NoAlike"
  [11]=>
  string(12) "PHP中文网"
  [12]=>
  string(21) "去PHP中文网学PHP"
  [19]=>
  string(24) "凤姐和芙蓉我都爱"
  [20]=>
  string(15) "杨幂我最爱"
}

4.索引数组的特点:

1).索引数组若不强制声明他的下标,他的下标是从0开始的;

2).如果我指定过下标,他的下标就为我指定的值。如下标为10和下标为19的,都是我指定过的值;

3).若某个值(如NoAlike),强制指定了下标(下标为10);在它后面加上的值(PHP中文网),不指定下标的话,他们的下标增长规律为最大值+1;

三: 向索引数组中增加元素

1.向索引数组中增加元素用: 数组变量名[]、数组变量名[键值]这两种方式来增加元素;

2.键值的增长规则与之前的规则一样。都是最大值加1的原则。

3.eg:

<?php
$minren = array(
           '杨幂',
           '王珞丹',
           '刘亦菲',
           '黄圣依'
       );

//如何向这$minren这个数组中增加元素呢
$minren[] = '范冰冰'; //下标为: 4
$minren[100] = '范爷';  //下标为: 100
$minren[] = '李晨'; // //下标为: 101
echo "pre";
var_dump($minren);
?>

四: 向索引数组中删除元素

1.使用unset删除变量的方式来删除数组里面的值;

2.删除了中间的值,并不会让后面的下标向前自动移动。而是原来的值为多少就为多少;

3.删除掉其中的某个值,新加入的值不会替换掉原来的位置,依然遵循最大值加1的原则。

4.eg:

<?php
$minren = array(
           '杨幂',
           '王珞丹',
           '刘亦菲',
           '黄圣依',
           '范冰冰'
       );
unset($minren[1]);  //删除王珞丹就是删除这个元素对应的下标
$minren[] = '金星'; //下表:  5
echo '<pre>';
var_dump($minren);
?>

效果:

array(5) {
  [0]=>
  string(6) "杨幂"
  [2]=>
  string(9) "刘亦菲"
  [3]=>
  string(9) "黄圣依"
  [4]=>
  string(9) "范冰冰"
  [5]=>
  string(6) "金星"
}

五: 向索引数组中修改值

1.用变量名[键] = 新值;就把数组中的值修改成新值了。

2.eg: 把数组中元素刘亦菲修改成 "亦菲,不要嫁给韩国人好吗?";

<?php
$minren = array(
           '杨幂',
           '王珞丹',
           '刘亦菲',
       );
$minren[5] = '范爷';
$minren[2] = '亦菲,不要嫁给韩国人好吗?';
echo '<pre>';
var_dump($minren);
?>

效果:

array(4) {
  [0]=>
  string(6) "杨幂"
  [1]=>
  string(9) "王珞丹"
  [2]=>
  string(39) "亦菲,不要嫁给韩国人好吗?"
  [5]=>
  string(6) "范爷"
}

六: 索引数组的声明方式

1.array()申明;

eg:

$minren = array('杨幂','王珞丹');       
       

2.直接用之前未声明的变量,用变量名后面接中括号的方式声明数组;

    //直接写一个变量后面加上中括号,声明变量
    $qi[] = '可口可乐';
    $qi[10] ='百事可乐';
    echo '<pre>';
    var_dump($qi);

效果:

array(2) {
  [0]=>
  string(12) "可口可乐"
  [10]=>
  string(12) "百事可乐"
}

3.用[ ]括起来申明;

<?php
$minren = ['杨幂','王珞丹'];
echo '<pre>';
var_dump($minren);
?>

七: 关联数组

1.只要数组里面有一个元素的下标为字符串的数组,就为关联数组。

2.申明一个关联数组,跟索引数组的声明方式完成一样;不同的是,必须要指定字符串下标对应的健值,以键值对作为整体呈现出来;

3.eg:

<?php
//声明一下关联数组
$rela = array(
       '帅' => '陈奕迅',
       '很帅' => '黄晓明'
);
//再来玩玩简洁声明
$drink = [
        '美' => '凤姐',
         100,
        100 => '孙俪',
        '娘娘',
        ];
echo '<pre>';
var_dump($rela);
echo '<pre>';
var_dump($drink);
?>

效果:

array(2) {
  ["帅"]=>
  string(9) "陈奕迅"
  ["很帅"]=>
  string(9) "黄晓明"
}
array(4) {
  ["美"]=>
  string(6) "凤姐"
  [0]=>
  int(100)
  [100]=>
  string(6) "孙俪"
  [101]=>
  string(6) "娘娘"
}

4.总结:

1).声明关联数组是 键名 => 值;

2).在关联数组可以有索引数组的元素;

3).关联数组中的索引数组的元素后再声明了无下标的元素,依然是最大值+1原则;

4).关联数组的增、删、改和索引数组一样;

5.其他的关联数组声明方式

<?php
    $drink['nf'] = '农夫山泉';
    $cocacola = '可口可乐';
    //当然可以是变量哟
    $drink['kl'] = $cocacola;
    $data = array(
        'kl' => $cocacola,
    );
    echo '<pre>';
    var_dump($drink);
?>

效果:

array(2) {
  ["nf"]=>
  string(12) "农夫山泉"
  ["kl"]=>
  string(12) "可口可乐"
}

八: 数组当中插入数组

1.数组的一些定义:

1).一维数组: 数组里面没有其他数组,只有单纯的一些变量或者值;

2).二维数组: 数组里面插入了单层的一个数组,或者多个数组;

3).三维数组: 在数组(A)里面插入了一个数组(B),在B数组里面又插入了一层级的数组(C),这种我们就称为三维数组;

4).超过三维的,统统都叫多维数组。

注:索引数组和关联数组当中都可以再插入其他数组,让数组变为多维的。

2.eg:二维数组的访问:

<?php
$person = [
       'office' => '办公室',
       //注意:插入第一个数组哟
       'family' => [
           '爸爸',
           '妈妈',
           'yeye' => '爷爷',
           'nn' => '奶奶',
       ],
       //注意:又插入了一个平级的数组
       'jiaotong' => [
           '自行车',
           '摩托车',
           '汽车',
           '飞机',
       ],
];

//访问“爸爸”这什值
echo $person['family'][0];
//访问“爷爷”这什值
echo $person['family']['yeye'];
//访问“汽车”这什值
echo $person['jiaotong'][2];
?>

  先写上变量,中括号写上family这个下标,再写上要访问元素的下标。

3.多维数组:

1).将每个维度的换行、缩进弄整齐,就不容易出错了;

2).数组元素间的分割符为逗号,在数组中插入数组的时候,不要在结尾处写成了分号(;);

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值