php数组函数详解

小云云
Lepaskan: 2023-03-22 18:16:02
asal
1987 orang telah melayarinya

本文主要和大家分享php数组函数详解,主要以代码和文字的形式和大家介绍,希望能帮助到大家。

数组

  • 数组属于复合类型数据

  • 数组实际上是一个有序的映射

分类

索引数组     数组的下标(key)是数字

关联数组     数组的下标(key)是字符串
Salin selepas log masuk

不论是索引数组还是关联数组,都是通过key找到value的。

创建

array( )形式

创建索引数组
array(value1,value2,value3...)
Salin selepas log masuk

例子一

// 通过array()创建下标连续的索引数组
$arr1 = array('A',2,false); 

输出结果:
    Array ( [0] => A [1] => 2 [2] => )
    false转换成空字符串
Salin selepas log masuk


例子二

//创建手动指定下标的数组
$arr2 = array(2=>'a',3=>true);

输出结果:
    Array ( [2] => a [3] => 1 )
Salin selepas log masuk
创建关联数组
array(key1=>value1, key2=>value2, key3=>value3...)
Salin selepas log masuk

例子

// 定义关联数组
$userInfo = array(
    'username'=>'Tim',
    'age'=>23,
    'email'=>'404491216@qq.com'
);

print_r($userInfo);

输出结果:
    Array ( [username] => Tim 
            [age] => 23 
            [email] => 404491216@qq.com 
          )
Salin selepas log masuk

[ ]形式 (5.4新增)

$arr = [value1,value2,value3...]
Salin selepas log masuk

例子

// []创建数组
$arr = ['A','B',true,2];
print_r($arr);

输出结果:
    Array ( [0] => A [1] => B [2] => 1 [3] => 2 )
Salin selepas log masuk

rang()

用于创建下标连续的索引数组。

range(min, max(, 步进制))
Salin selepas log masuk

步进制:每个值相差多少,默认为1。

例子

// range()例子  值为1-10
$arr = range(1,10,2);
print_r($arr);

输出结果:
    Array
        (
            [0] => 1
            [1] => 3
            [2] => 5
            [3] => 7
            [4] => 9
        )
Salin selepas log masuk

compact()

compact('变量名')
Salin selepas log masuk

用于创建关联数组。

先定义在外部变量,然后传入变量即可生成数组。

注意,变量名需要用引号括起来。

例子

// compact()例子
$username = 'Tim';
$age = 23;
$email = 'xxx@xx.com';

// 注意,这里变量名需要用引号
$userInfo = compact('username','age','email');

输出结果:
    Array ( [username] => Tim [age] => 23 [email] => xxx@xx.com )
Salin selepas log masuk

define()

define(key,value)
Salin selepas log masuk

例子

define('TEST1',array('a','b','c'));
print_r(TEST1);

输出结果:
    Array ( [0] => a [1] => b [2] => c )
Salin selepas log masuk

循环

for循环

for循环只能遍历下标连续的索引数组

补充:

count() 得到数组中的参数个数

如果是null,count()将返回0。

例子

// 使用rang()快速创建数组
$arr = range('a','d');

for($i=0; $i<$len; $i++){
    echo $arr[$i],&#39;<br/>&#39;;
}

输出结果:
    a,b,c,d
Salin selepas log masuk

for each 循环

只要value
foreach (数组名称 as $value)    

key和value 都要
foreach (数组名称 as $key => $value)
Salin selepas log masuk

注意:

  • 遍历空数组,不会执行循环体;

  • for each遍历时,操作的是数组的副本 ( php7新特性 )

  • 通过引用遍历,有更好的迭代特性,对数组的修改会影响循环 ( php7 )

例子

// php7新特性——foreach操作的是数组的副本
$arr = [0,1,2];
$ref =&$arr;

foreach($arr as $v){
    echo $v,&#39;<br/>&#39;;

    // 老版本会删除1,但php7操作的是副本,所以没影响
    unset($arr[1]);
}

foreach输出结果:
    0 1 2

// 都是0、2   因为1被删除了
var_dump($arr,$ref);  

var_dump输出结果:
array (size=2)
  0 => int 0
  2 => int 2
)
Salin selepas log masuk

 相关推荐:

php常用数组函数总结

Atas ialah kandungan terperinci php数组函数详解. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!