php数组函数详解

小云云
发布: 2018-03-30 11:24:42
原创
2216人浏览过

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

数组

  • 数组属于复合类型数据

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

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

关联数组     数组的下标(key)是字符串
登录后复制

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

创建

array( )形式

创建索引数组
array(value1,value2,value3...)
登录后复制

例子一

立即学习PHP免费学习笔记(深入)”;

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

输出结果:
    Array ( [0] => A [1] => 2 [2] => )
    false转换成空字符串
登录后复制


例子二

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

输出结果:
    Array ( [2] => a [3] => 1 )
登录后复制
创建关联数组
array(key1=>value1, key2=>value2, key3=>value3...)
登录后复制

例子

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

print_r($userInfo);

输出结果:
    Array ( [username] => Tim 
            [age] => 23 
            [email] => 404491216@qq.com 
          )
登录后复制

[ ]形式  (5.4新增)

$arr = [value1,value2,value3...]
登录后复制

例子

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

输出结果:
    Array ( [0] => A [1] => B [2] => 1 [3] => 2 )
登录后复制

rang()

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

range(min, max(, 步进制))
登录后复制

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

例子

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

输出结果:
    Array
        (
            [0] => 1
            [1] => 3
            [2] => 5
            [3] => 7
            [4] => 9
        )
登录后复制

compact()

compact('变量名')
登录后复制

用于创建关联数组。

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

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

例子

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

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

输出结果:
    Array ( [username] => Tim [age] => 23 [email] => xxx@xx.com )
登录后复制

define()

define(key,value)
登录后复制

例子

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

输出结果:
    Array ( [0] => a [1] => b [2] => c )
登录后复制

循环

for循环

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

补充:

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

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

例子

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

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

输出结果:
    a,b,c,d
登录后复制

for each 循环

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

key和value 都要
foreach (数组名称 as $key => $value)
登录后复制

注意:

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

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

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

例子

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

foreach($arr as $v){
    echo $v,'<br/>';

    // 老版本会删除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
)
登录后复制

 相关推荐:

php常用数组函数总结

以上就是php数组函数详解的详细内容,更多请关注php中文网其它相关文章!

PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号