欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

PHP中的数组

程序员文章站 2024-02-15 08:07:40
...
概述

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

PHP 数组可以同时含有 integer 和 string 类型的键名,因为 PHP 实际并不区分索引数组和关联数组。

键(key)可以是一个整数 integer 或字符串 string
值(value)可以是任意类型的值


数组的定义

有两种方式

可以用 array() 语言结构来新建一个数组

array(  key =>  value
     , ...
 )

自 5.4 起可以使用短数组定义语法,用 [] 替代 array()

最后一个数组单元之后的逗号可以省略。通常用于单行数组定义中,例如常用 array(1, 2) 而不是 array(1, 2, )。对多行数组定义通常保留最后一个逗号,这样要添加一个新单元时更方便。


数组的键

键(key)可是是一个整数 integer 或字符串 string

此外 key 会有如下的强制转换

  • 包含有合法整型值的字符串会被转换为整型。例如键名 “8” 实际会被储存为 8。但是 “08” 则不会强制转换,因为其不是一个合法的十进制数值。
  • 浮点数也会被转换为整型,意味着其小数部分会被舍去。例如键名 8.7 实际会被储存为 8。
  • 布尔值也会被转换成整型。即键名 true 实际会被储存为 1 而键名 false 会被储存为 0。
  • Null 会被转换为空字符串,即键名 null 实际会被储存为 “”。
  • 数组和对象不能被用为键名。坚持这么做会导致警告:Illegal offset type。

如果在数组定义中多个单元都使用了同一个键名,则只使用了最后一个,之前的都被覆盖了

如果对给出的值没有指定键名,则取当前最大的整数索引值,而新的键名将是该值加一;如果当前还没有整数索引,则键名将为 0。


$foo[‘bar’] 与 $foo[bar]

对于$foo[bar],如果没有常量定义为 bar,PHP 将把它替代为 ‘bar’ 并使用之


数组的遍历

foreach 语法结构提供了遍历数组的简单方式。foreach 仅能够应用于数组和对象。

有两种语法:

foreach (array_expression as $value)
    statement

foreach (array_expression as $key => $value)
    statement

unset()

unset() 函数允许删除数组中的某个键。但要注意数组将不会重建索引。如果需要删除后重建索引,可以用 array_values() 函数。

$a = array(1 => 'one', 2 => 'two', 3 => 'three');
unset($a[2]);
/* will produce an array that would have been defined as
   $a = array(1 => 'one', 3 => 'three');
   and NOT
   $a = array(1 => 'one', 2 =>'three');
*/

$b = array_values($a);
// Now $b is array(0 => 'one', 1 =>'three')

数组函数

http://php.net/manual/zh/ref.array.php


版权声明:本文为博主原创文章,未经博主允许不得转载。

以上就介绍了PHP中的数组,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

PHP中的数组

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

相关文章

相关视频