源码哥,靠谱的网站源码下载站 帮助 每日签到

源码哥

广告位《资讯详情页横幅-1150*?》

PHP数组:Array

  • 发布者:源码哥 时间:2022-09-16 14:47 阅读:142
  • 扫一扫,手机访问
广告位《资讯详情页摘要上方横幅-828*?》
摘要:PHP数组实际上是一个有序映射。映射是将值与键关联的类型。这种类型可以认为是数组、列表(矢量)、哈希表(实现地图)、字典、集合、堆栈、队列等,对各种用途进行了优化。数组的值可以是其他数组,因此也允许树结构和多维数组。语法数组定义array()可以使用array()语言结构创建数组。接受逗号分隔的任意数量的键=>值对。array(    key  => value,    ke

PHP数组实际上是一个有序映射。映射是将值与键关联的类型。这种类型可以认为是数组、列表(矢量)、哈希表(实现地图)、字典、集合、堆栈、队列等,对各种用途进行了优化。数组的值可以是其他数组,因此也允许树结构和多维数组。


语法


数组定义array()


可以使用array()语言结构创建数组。接受逗号分隔的任意数量的键=>值对。

array(

    key  => value,

    key2 => value2,

    key3 => value3,

    ...

)

可以省略最后一个数组元素后面的逗号。通常用于单行数组定义。例如,array(1,2)通常代替array(1,2,)。最后一个逗号通常保留用于多行数组定义,在添加新单元格时非常有用。


注意:


可以使用短数组语法[]代替array()。


示例1简单数组:


<?php
$array = array(
    "foo" => "bar",
    "bar" => "foo",
);
// 使用短数组语法
$array = [
    "foo" => "bar",
    "bar" => "foo",
];
?>


key是整数或字符串。值可以是任何类型。


此外,key具有以下强制条件:


字符串包含有效的十进制整型,除非数字前面有+符号,否则将转换为整型。例如,键名“8”实际上保存为8。此外,“08”不是有效的十进制整数,因此不强制执行。

浮点也将转换为int。也就是说,小数部分被四舍五入。例如,键名8.7实际上存储为8。

布尔也将转换为整型。也就是说,密钥名true实际上存储为1,而密钥名false存储为0。

空值将转换为空字符串。也就是说,密钥名称null实际上存储为“”。

数组和对象不能用作关键帧。如果这样做过多,则会出现以下警告:Illegal offsettype。

如果多个元素在定义数组时使用相同的关键字名称,则只使用最后一个元素,并覆盖其他元素。


实例#2类型转换和覆盖示例:


<?php
$array = array(
    1    => "a",
    "1"  => "b",
    1.5  => "c",
    true => "d",
);
var_dump($array);
?>

输出以上例程:


array(1) {

  [1]=>

  string(1) "d"

}

上面示例中的所有键名都强制为1,因此每个新单元格都将覆盖以前的值,最后只剩下“d”。

因为PHP实际上不区分带索引的数组和联想数组,所以PHP数组可以同时包含int键和string键。


示例3int和字符串密钥名混合:


<?php
$array = array(
    "foo" => "bar",
    "bar" => "foo",
    100   => -100,
    -100  => 100,
);
var_dump($array);
?>

输出以上例程:


array(4) {

  ["foo"]=>

  string(3) "bar"

  ["bar"]=>

  string(3) "foo"

  [100]=>

  int(-100)

  [-100]=>

  int(100)

}

键是可选的。否则,PHP将自动将以前使用的最大int键加1后的值用作新键。


示例4没有关键字名称的索引数组:


<?php
$array = array("foo", "bar", "hello", "world");
var_dump($array);
?>

输出以上例程:


array(4) {

  [0]=>

  string(3) "foo"

  [1]=>

  string(3) "bar"

  [2]=>

  string(5) "hello"

  [3]=>

  string(5) "world"

}


也可以仅为某些单元格指定键名,并将其他单元格留空。


示例5仅为某些单元格指定密钥名称:


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

输出以上例程:


array(4) {

  [0]=>

  string(1) "a"

  [1]=>

  string(1) "b"

  [6]=>

  string(1) "c"

  [7]=>

  string(1) "d"

}


最后一个值“d”显示自动分配键名7。这是因为以前的最大整数密钥名为6。


实例#6复合类型转换和覆盖示例。


此示例包括键名类型转换和元素覆盖的所有更改。


<?php
$array = array(
    1    => 'a',
    '1'  => 'b', // 值 "a" 会被 "b" 覆盖
    1.5  => 'c', // 值 "b" 会被 "c" 覆盖
    -1 => 'd',
    '01'  => 'e', // 由于这不是整数字符串,因此不会覆盖键名 1
    '1.5' => 'f', // 由于这不是整数字符串,因此不会覆盖键名 1
    true => 'g', // 值 "c" 会被 "g" 覆盖
    false => 'h',
    '' => 'i',
    null => 'j', // 值 "i" 会被 "j" 覆盖
    'k', // 值 “k” 的键名被分配为 2。这是因为之前最大的整数键是 1
    2 => 'l', // 值 "k" 会被 "l" 覆盖
);
var_dump($array);
?>

输出以上例程:


array(7) {

  [1]=>

  string(1) "g"

  [-1]=>

  string(1) "d"

  ["01"]=>

  string(1) "e"

  ["1.5"]=>

  string(1) "f"

  [0]=>

  string(1) "h"

  [""]=>

  string(1) "j"

  [2]=>

  string(1) "l"

}


相关连接: 网站源码 企业网站源码

  • 全部评论(0)
广告位《资讯详情页最新发布上方横幅-828*?》
最新发布的资讯信息
【网站开发|HTML】html编码设置(2022-10-17 11:26)
【网站开发|HTML】html添加注释的方法(2022-10-17 11:25)
【网站开发|HTML】html元素(2022-10-17 11:23)
【网站开发|HTML】html属性介绍(2022-10-17 11:22)
【网站开发|HTML】html标签说明(2022-10-17 11:21)
【网站开发|HTML】html的基本结构(2022-10-17 11:20)
【行业资讯|】如何学习好网站前端开发?(2022-10-14 14:53)
【网站开发|JavaScript】如何轻松学习JavaScript(2022-10-14 14:26)
【网站开发|node.js】NodeJS Service Docker映像终极优化指南(2022-10-14 14:14)
【网站开发|JavaScript】后端response响应返回图像,前端怎么下载图片?(2022-09-23 10:17)
联系我们
Q Q:472206683
微信:472206683
邮箱:472206683@qq.com
时间:09:00 - 24:00
联系客服
售前咨询 网站搭建 技术支持 联系客服
18639176864
手机版
手机版二维码
扫一扫进手机版
返回顶部