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 条评论
登录 后参与评论

相关文章

来自专栏osc同步分享

前缀、中缀、后缀表达式

前缀、中缀、后缀表达式,它们之间的区别在于运算符相对与操作数的位置不同:前缀表达式的运算符位于与其相关的操作数之前;中缀和后缀同理。对计算机来说中缀表达式是很复...

3327
来自专栏黑泽君的专栏

静态变量和成员变量的区别 && 成员变量和局部变量的区别

=============================================================================

1572
来自专栏Petrichor的专栏

python: hasattr()、setattr()、getattr()、delattr() 内建函数

1592
来自专栏啸天"s blog

Java中的关键字

1505
来自专栏androidBlog

java字符串对象的存储机制

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/gdutxiaoxu/article/details/...

2281
来自专栏乐百川的学习频道

C++学习笔记 类型声明

类型别名 typedef关键字 typedef关键字是继承自C语言的特性,利用它我们可以为一个类型起别名,一般用于将复杂类型简化。举个简单的例子,将int类型定...

1939
来自专栏从零开始学 Web 前端

从零开始学 Web 之 JS 高级(二)原型链,原型的继承

原型链表示的是实例对象与原型对象之间的一种关系,这种关系是通过__proto__原型来联系的。

1153
来自专栏LanceToBigData

JavaSE(二)之继承、封装、多态

学习完类与对象终于认识到什么是类,什么是对象了。接下来要看的就是java的三大特征:继承、封装、多态。 一、封装(数据的隐藏) 在定义一个对象的特性的时候,有必...

2305
来自专栏java达人

Java初始化顺序

作者:wota 来源:http://www.cnblogs.com/miniwiki/archive/2011/03/25/1995615.html(点击文末阅...

2267
来自专栏深度学习思考者

Python学习(三) 八大排序算法的实现(下)

本文Python实现了插入排序、基数排序、希尔排序、冒泡排序、快速排序、直接选择排序、堆排序、归并排序的后面四种。 上篇:Python学习(三) 八大排序算...

24310

扫码关注云+社区

领取腾讯云代金券