美文网首页
PHP中的数组基础 -- PHP 学习 (十二)

PHP中的数组基础 -- PHP 学习 (十二)

作者: 无故下架内容so账号已弃用 | 来源:发表于2019-05-05 22:00 被阅读0次

PHP 数组简介

PHP 中的数组实际上是一个有序映射。映射是一种把 values 关联到 keys 的类型。此类型在很多方面做了优化,因此可以把它当成真正的数组,或列表(向量),散列表(是映射的一种实现),字典,集合,栈,队列以及更多可能性。由于数组元素的值也可以是另一个数组,树形结构和多维数组也是允许的。

官方说明: Array 数组

PHP 数组的定义

  • 数组是 php 中的重要类型之一, 是复合类型
  • 数据的集合, 在 php中数组是一个有序映射

PHP 数组的定义与分类

  • 索引数组: 数组的下标是数值

  • 关联数组: 数组的下标为字符是关联数组

  • 注意: php 中数组其实是不区分索引和关联数组的, 它们都是根据键名 key 值来找到对应的值

定义数组

  • 通过 array() 形式

  • 通过 [] 动态创建

  • 通过 range() 和 compact () 快速创建

    (a) range — 根据范围创建数组,包含指定的元素

    (b) compact — 建立一个数组,包括变量名和它们的值

  • 通过 define() 定义一个常量数组, 注意要 PHP 7.0+

<?php
header('content-type: text/html;charset=utf-8');

// 通过 array()
$arr1 = array(1,2,3);
print_r($arr1);

/*
 * array() 结果:
 * Array
 * (
 *     [0] => 1
 *     [1] => 2
 *     [2] => 3
 * )
*/

// []
$arr2 = [0=>'li',1=>'guo',2=>'you'];
print_r($arr2);

/*
 * [] 结果:
 * Array
 * (
 *     [0] => li
 *     [1] => guo
 *     [2] => you
 * )
*/

// range()
$arr3 = range(1,10);
print_r($arr3);
/*
 * range() 结果:
 * Array
 * (
 *     [0] => 1
 *     [1] => 2
 *     [2] => 3
 *     [3] => 4
 *     [4] => 5
 *     [5] => 6
 *     [6] => 7
 *     [7] => 8
 *     [8] => 9
 *     [9] => 10
 * )
*/
$arr4 = range(-5,10,2);
print_r($arr4);
/*
 * range() 结果:
 * Array
 * (
 *     [0] => -5
 *     [1] => -3
 *     [2] => -1
 *     [3] => 1
 *     [4] => 3
 *     [5] => 5
 *     [6] => 7
 *     [7] => 9
 * )
*/

// compact()
$username = 'guoyou';
$age = 24;
$email = 'guoyou.li@foxmail.com';
$arr5 = compact('username','age','email');
print_r($arr5);

/*
 * compact() 结果:
 * Array
 * (
 *     [username] => guoyou
 *     [age] => 24
 *     [email] => guoyou.li@foxmail.com
 * )
*/

// define() PHP 7.0+
//define('INFO', array('username'=>'liguoyou','tel'=>'13510748888'));
define('INFO', ['username'=>'liguoyou','tel'=>'13510748888','age'=>'24']);
print_r(INFO);

/*
 * define()结果: 注意要 php 7.0+
 * Array
 * (
 *     [username] => liguoyou
 *     [tel] => 13510748888
 *     [age] => 24
 * )
 */

数组的运算符相关

  • + 合并数组: 如果键名相同, 使用前面数组的值

  • == 只比较键名和键值是否相同, 如果相同返回 true, 否则返回 false

  • === 既要比较键名和键值是否相同, 还要比较类型和循序是否相同

<?php
header('content-type: text/html;charset=utf-8');

// 数组的运算相关
$arr1 = ['a','b','c'];
$arr2 = ['t','t','t'];
$arr3 = $arr1 + $arr2;
print_r($arr3);
// 结果: Array ( [0] => a [1] => b [2] => c )
$arr4 = $arr2 + $arr1;
print_r($arr4);
// 结果: Array ( [0] => t [1] => t [2] => t )

$arr5 = $arr1 + [2=>'B',4=>'D'];
print_r($arr5);
// 结果: Array ( [0] => a [1] => b [2] => c [4] => D )

$arr6 = ['user'=>'abc','age'=>23];
$arr7 = ['age'=>23,'user'=>'abc'];
var_dump($arr6 == $arr7); // bool(true)
var_dump($arr6 === $arr7); // bool(false)

学习资料来源: https://class.imooc.com/sc/30

相关文章

  • PHP中的数组基础 -- PHP 学习 (十二)

    PHP 数组简介 PHP 中的数组实际上是一个有序映射。映射是一种把 values 关联到 keys 的类型。此类...

  • 一. PHP入门篇和PHP进阶篇

    PHP基础语法 PHP数组 PHP函数 PHP之类和对象 PHP字符串 PHP之正则表达式 PHP之cookie ...

  • 2019-07-24

    今天php基础之数组

  • php基础精粹

    PHP php数组 php数组之索引数组初始化 PHP数组之索引数组赋值 PHP数组之访问索引数组内容 PHP数组...

  • php哈希冲突攻击解析

    一段攻击代码 插入结果 php5(5.2) php7 php 数组的实现 php 中的数组是 php 中非常好用的...

  • 2019-07-28

    今天看了php基础之 数组系列

  • 2019-07-30

    今天看了php基础之数组系列

  • PHP之each()函数输出空白问题

    each()函数 (PHP 4, PHP 5, PHP 7) each — 返回数组中当前的键/值对并将数组指针向...

  • 1.2 PHP数组

    PHP手册:Array 数组 简介在PHP手册中对Array数组的描述是这样的:PHP 中的数组实际上是一个有序映...

  • php入门--数组

    在 PHP 中,array() 函数用于创建数组: 数值数组 在 PHP 中,有三种类型的数组:数值数组 - 带有...

网友评论

      本文标题:PHP中的数组基础 -- PHP 学习 (十二)

      本文链接:https://www.haomeiwen.com/subject/ivdkoqtx.html