登录  /  注册
首页 > 头条 > 正文
php常用数组函数
无忌哥哥
发布: 2018-06-28 10:12:58
原创
1508人浏览过

* 函数主要要搞清楚以下几点?

* 1. 功能:能做什么?

* 2. 场景: 用在哪里?

* 3. 参数: 必选与可选的

* 4. 返回值: 类型与数量

* 一、键与值的操作(6个)

* 1. in_array(value, array): val是否在array中,返回布尔值

* 2. array_key_exists(key,array):key是否在array中,返回布尔值

* 3. array_values(array): 以索引方式返回array值部分

* 4. array_keys(array[,value]): 以索引方式返回array键部分,还可返回指定值的键

* 5. array_search(value, array): 以字符串方式返回指定值的键

* 6. array_filp(array):键值对调

* 二、数组内部指针(巡航)操作(8个)

* 1. key(array):返回当前元素的键

* 2. current(array):当前元素的值,pos()为同名函数

* 3. next(array):指针下移,指向下一个元素,返回当前值

* 4. reset(array):指针复位,指向第一个元素,并返回它的值

* 5. end(array):指针移动最后一个元素上

* 6. prev(array):指针向前移动一位,并返回当前元素的值

* 7. each(array):返回当前元素的键值的索引与关联描述的数组,并自动下移指针

* 8. list($a,$b,...):将索引数组中的值,赋值给一组变量

echo '<pre>';
$user = ['id'=>5,'name'=>'peter','gender'=>'male','age'=>30];
print_r($user); //查看数组
echo '<hr color="red">';
登录后复制

//一.数组中的键与值的常用操作函数

//1. in_array(value, array): val是否在array中,返回布尔值

echo in_array('Peter Zhu',$user) ? '存在<br>' : '不存在<br>';
登录后复制

//2. array_key_exists(key,array):key是否在array中,返回布尔值

echo array_key_exists('name',$user) ? '存在<br>' : '不存在<br>';
登录后复制

//3.array_values(array): 以索引方式返回array值部分

print_r(array_values($user));
登录后复制

//4.array_keys(array[,value]): 以索引方式返回array键部分

print_r(array_keys($user));
登录后复制

//4-1.array_keys(array[,value]): 以索引方式返回array键部分,还可返回指定值的键

print_r(array_keys($user,'male'));
登录后复制

//5. array_search(value, array): 以字符串方式返回指定值的键

print_r(array_search('peter', $user));
登录后复制

//6. array_filp(array):键值对调

print_r(array_flip($user));
登录后复制

// 二、数组内部指针(巡航)操作

//count(array)当前数组的元素数量

echo count($user),'<br>';
登录后复制

//当前指针位指向第一个元素

//1.key(array):返回当前元素的键

echo key($user),'<br>';
登录后复制

//2.current(array):当前元素的值,pos()为同名函数

 echo  current($user), '<br>';
登录后复制

//3.next(array):指针下移,指向下一个元素

next($user);

//查看当前元素的键值

 echo key($user),'<br>';
 echo  current($user), '<br>';
登录后复制
登录后复制

//next(array)除将指针下移外,还可以返回当前元素的值

var_dump(next($user)); 
 echo key($user),'<br>';
 echo  current($user), '<br>';
登录后复制

//继续向下遍历,发现next(array)返回false,说明遍历结束

var_dump(next($user));

//已到结尾无数据,不会再有输出

 echo key($user),'<br>';
 echo  current($user), '<br>';
登录后复制
登录后复制

//4.reset(array):指针复位,指向第一个元素,并返回它的值

reset($user);

//除复位外,还可返回第一个元素的值

// var_dump(reset($user));

echo key($user),'<br>';
echo  current($user), '<br>';
登录后复制

//5. end(array):指针移动最后一个元素上

end($user);

// var_dump(end($user)); //也能返回当前元素的值

echo key($user),'<br>';
echo  current($user), '<br>';
登录后复制

//6. prev(array):指针向前移动一位,并返回当前元素的值

prev($user);
echo key($user),'<br>';
echo  current($user), '<br>';
登录后复制

//7. each(array):返回当前元素的键值的索引与关联描述的数组,并自动下移指针

* 返回四个元素的数组:

* 2个索引元素, [0]是键,[1]是值

* 2个关联元素, [key]是键, [value]是值

@print_r(each($user));

//注意:因执行效率的问题,这个函数在php7中已经废弃

//8. list($a,$b,...):将索引数组中的值,赋值给一组变量

reset($user);  //复位指针
登录后复制

* 执行的操作:

* 1.each($user): 获取当前元素的索引部分

* 2.list($key, $value): [0]的值赋给变量$key, [1]的值赋给变量$value

* 3.数组$user指针自动下移

list($key, $value) = each($user);
echo $key,'=>'.$value,'<br>';
登录后复制
登录后复制

//重复调用

list($key, $value) = each($user);
echo $key,'=>'.$value,'<br>';
登录后复制
登录后复制

//非常适合用循环来实现

echo '<hr color="blue">';
reset($user);
while(list($key, $value) = each($user)) {
echo $key,'=>'.$value,'<br>';
}
登录后复制
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 技术文章
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2023 //m.sbmmt.com/ All Rights Reserved | 苏州跃动光标网络科技有限公司 | 苏ICP备2020058653号-1

 | 本站CDN由 数掘科技 提供

登录PHP中文网,和优秀的人一起学习!
全站2000+教程免费学