PHP基础——PHP数组

PHP数组与其他语言的数组有些不同,在PHP中,数组包含两种类型的数组:

  • 数字索引数组
  • 关联数组

其中,数字索引数组是指其key为数字,而后者可以使用字符串作为其key,这相当于map。

1、数组的声明和初始化

数组的声明和初始化使用函数array(),其格式如下:

$a = array()

对于数字索引的数组,如下:

<?php
        $a = array("a", "b", "c");
        print_r($a);
?>

输出结果为:

Array
(
    [0] => a
    [1] => b
    [2] => c
)

对于关联数组,使用运算符=>连接key和value,如下所示:

<?php
        $a = array("a"=>"A", "b"=>"B", "c"=>"C");
        print_r($a);
?>

输出结果为:

Array
(
    [a] => A
    [b] => B
    [c] => C
)

2、数组元素的操作

对于数组元素的操作,可以通过下标或者key的方式。

对于数字索引的数组,可以通过下标索引的方式,如:

<?php
        $a = array("a", "b", "c");
        print_r($a);
        $a[0] = "c";
        print_r($a);
?>

将元素中的”a”修改为”c”。

对于关联数组,可以通过key操作关联数组的元素,如:

<?php
        $a = array("a"=>"A", "b"=>"B", "c"=>"C");
        print_r($a);
        $a["a"] = "C";
        print_r($a);
?>

3、数组元素的个数

数组元素的个数可以通过函数count()来取得,如下:

<?php
        $a = array("a"=>"A", "b"=>"B", "c"=>"C");
        echo count($a);
?>

4、遍历数组元素

可以使用foreach遍历数组中的元素,如下:

<?php
        $a = array("a"=>"A", "b"=>"B", "c"=>"C");
        foreach ($a as $q){
                echo $q;
                echo "\n";
        }
?>

此时输出的是value值,若是需要输出key,可以使用如下的方法:

<?php
        $a = array("a"=>"A", "b"=>"B", "c"=>"C");
        foreach ($a as $key=>$value){
                echo $key;
                echo "=>";
                echo $value;
                echo "\n";
        }
?>

5、向数组中添加元素

对于数字索引的数组,可以使用array_push()函数向数组中添加元素,如下:

<?php
        $a = array("a", "b", "c");
        print_r($a);
        array_push($a, "d");
        print_r($a);
?>

对于关联数组,则是直接以key=>value的形式插入:

<?php
        $a = array("a"=>"A", "b"=>"B", "c"=>"C");
        print_r($a);
        if (!array_key_exists("d", $a)){
                $a["d"] = "D";
        }
        print_r($a);
?>

6、删除数组中的末尾元素

使用array_pop()方法删除数组中的末尾的元素,如下:

<?php
        $a = array("a"=>"A", "b"=>"B", "c"=>"C");
        print_r($a);
        array_pop($a);
        print_r($a);
?>

函数array_pop()返回的是删除的元素的value值。

7、删除数组中的重复元素

使用array_unique()函数删除数组中的重复的元素。函数的具体形式为:

array array_unique(array_1)

<?php
        $a = array("a", "b", "c", "a", "b", "c");
        print_r($a);
        $result = array_unique($a);
        print_r($result);
?>

8、数组与字符串的相互转换

数组与字符串的相互转换为:

  • 数组转换成字符串:implode()
  • 字符串转换成数组:explode()

如下:

<?php
        $str = "a b c d e f";
        $arr = explode(" ", $str);
        print_r($arr);
        $str_1 = implode("\t", $arr);
        echo $str_1."\n";
?>

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券