PHP array操作10个小技巧分享

1、向array中添加元素
php是一个弱类型语言。因此不必象c语言那样为php array声明长度。向其中添加元素的过程也是声明和初始化的过程。
<div class="codetitle"><a style="CURSOR: pointer" data="77955" class="copybut" id="copybut77955" onclick="doCopy('code77955')"> 代码如下:

<div class="codebody" id="code77955">
$capitals = array(
'Alabama' => 'Montgomery',
'Alaska' => 'Juneau',
'Arizona' => 'Phoenix'
);

继续添加元素也很简单
<div class="codetitle"><a style="CURSOR: pointer" data="69669" class="copybut" id="copybut69669" onclick="doCopy('code69669')"> 代码如下:
<div class="codebody" id="code69669">
$capitals['Arkansas'] = 'Little Rock';

如果不是关联数组而只是数字索引的数组可以使用array_push()和array_unshift()函数增加元素
2、从array中删除元素
从数组中移除元素可以使用unset() 函数
<div class="codetitle"><a style="CURSOR: pointer" data="47643" class="copybut" id="copybut47643" onclick="doCopy('code47643')"> 代码如下:
<div class="codebody" id="code47643">
unset($capitals['California']);

也可以使用array_pop()或array_shift()函数从数组头或尾部顺序移除元素
3、array键值互换
如果希望新建数组的键是老数组的值而值是老数组的键,简而言之就是键值对调,则可以使用array_flip()函数完成操作
<div class="codetitle"><a style="CURSOR: pointer" data="87163" class="copybut" id="copybut87163" onclick="doCopy('code87163')"> 代码如下:
<div class="codebody" id="code87163">
$capitals = array(
'Alabama' => 'Montgomery',
'Arizona' => 'Phoenix'
);
$states = array_flip($capitals);
// $states = array(
// 'Montgomery' => string 'Alabama',
// 'Juneau' => string 'Alaska',
// 'Phoenix' => string 'Arizona'
// );

4、合并数组
如果希望将两个或多个数组合并成一个新的数组,arraymerge()函数可以帮上这个忙^^
<div class="codetitle"><a style="CURSOR: pointer" data="68601" class="copybut" id="copybut68601" onclick="doCopy('code68601')"> 代码如下:<div class="codebody" id="code68601">
$stateCapitals = array(
'Alabama' => 'Montgomery',
'Arizona' => 'Phoenix'
);
$countryCapitals = array (
'Australia' => 'Canberra',
'Austria' => 'Vienna',
'Algeria' => 'Algiers'
);
$capitals = array_merge($stateCapitals,$countryCapitals);

5、修改array中的值
譬如希望将数组的中值全部改为小写后大写首字母,使用回调函数递归地对每个数组成员调用是个不错的方法,php中这个函数是php_map()
<div class="codetitle"><a style="CURSOR: pointer" data="50847" class="copybut" id="copybut50847" onclick="doCopy('code50847')"> 代码如下:<div class="codebody" id="code50847">
function capitalize($element)
{
$element = strtolower($element);
return ucwords($element);
}
$capitals = array(
'Alabama' => 'montGoMEry',
'Arizona' => 'phoeniX'
);
$capitals = array_map("capitalize",$capitals);

6、根据array的键为数组排序
<div class="codetitle"><a style="CURSOR: pointer" data="77550" class="copybut" id="copybut77550" onclick="doCopy('code77550')"> 代码如下:<div class="codebody" id="code77550">
$capitals = array(
'Arizona' => 'Phoenix',
'Alabama' => 'Montgomery'
);
ksort($capitals);

7、随机化array元素的顺序
shuffle() 和上面的ksort()函数恰恰相反,可以打乱数组现有的秩序,以达到随机化的目的。
<div class="codetitle"><a style="CURSOR: pointer" data="97440" class="copybut" id="copybut97440" onclick="doCopy('code97440')"> 代码如下:<div class="codebody" id="code97440">
$capitals = array(
'Arizona' => 'Phoenix',
'Alabama' => 'Montgomery'
);
shuffle($capitals);

8、查找键或值是否存在
查找是否存在值使用in_array()函数
<div class="codetitle"><a style="CURSOR: pointer" data="64328" class="copybut" id="copybut64328" onclick="doCopy('code64328')"> 代码如下:<div class="codebody" id="code64328">
$capitals = array(
'Arizona' => 'Phoenix',
'Alabama' => 'Montgomery'
);
if (in_array("Juneau",$capitals))
{
echo "Exists!";
} else {
echo "Does not exist!";
}

查找是否存在键使用array_key_exists()函数
<div class="codetitle"><a style="CURSOR: pointer" data="63665" class="copybut" id="copybut63665" onclick="doCopy('code63665')"> 代码如下:<div class="codebody" id="code63665">
$capitals = array(
'Arizona' => 'Phoenix',
'Alabama' => 'Montgomery'
);
if (array_key_exists("Alaska",$capitals))
{
echo "Key exists!";
} else {
echo "Key does not exist!";
}

9、数组查找
这个是老生常谈了,基本上都用的到array_search()函数
<div class="codetitle"><a style="CURSOR: pointer" data="39097" class="copybut" id="copybut39097" onclick="doCopy('code39097')"> 代码如下:<div class="codebody" id="code39097">
$capitals = array(
'Arizona' => 'Phoenix',
'Alabama' => 'Montgomery'
);
$state = arraysearch('Juneau',$capitals);
// $state = 'Alaska'

10、使用php标准函数库
一口气介绍这个多操作array的函数,如果您还觉得不过瘾,可以继续查看Standard PHP Library 中的内容^
^
<div class="codetitle"><a style="CURSOR: pointer" data="12799" class="copybut" id="copybut12799" onclick="doCopy('code12799')"> 代码如下:<div class="codebody" id="code12799">
$capitals = array(
'Arizona' => 'Phoenix',
'Alabama' => 'Montgomery'
);
$arrayObject = new ArrayObject($capitals);
foreach ($arrayObject as $state => $capital)
{
printf("The capital of %s is %s
",$state,$capital);
}
// The capital of Arizona is Phoenix
// The capital of Alaska is Juneau
// The capital of Alabama is Montgomery

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


如何选择合适的 C++ Web 开发框架?
利用 C++ 框架构建高并发 Web 应用的策略
用 C++ 框架开发跨平台图形应用程序
golang框架中安全编码实践的最佳指南是什么?
golang框架与其他语言框架在设计理念上的区别有哪些?
C++ 图形框架与其他语言框架的比较
C++ 框架与其他 Web 开发框架的对比分析
使用 C++ 框架构建大型项目最佳实践
C++ 框架如何提高大型项目开发效率
C++ 框架中依赖注入的持续集成与部署工具
如何与社区协作和贡献到自定义 Golang 框架?
C++ 框架在大型项目中如何实现模块化开发
使用 C++ 框架开发跨平台 Web 应用
C++ 框架在大型项目中的优缺点
golang框架在性能上的优势体现在哪些方面?
C++ 框架在嵌入式系统内存优化中的优势
golang框架在人工智能与机器学习中的作用
如何扩展 Golang 框架以支持特定功能?
如何利用 Go Modules 和依赖项管理来自定义 Golang 框架?
Golang 框架中的性能优化技巧