PHP array操作10个小技巧分享
程序员文章站
2022-09-10 15:11:51
1、向array中添加元素 php是一个弱类型语言。因此不必象c语言那样为php array声明长度。向其中添加元素的过程也是声明和初始化的过程。 复制代码 代码如下: $...
1、向array中添加元素
php是一个弱类型语言。因此不必象c语言那样为php array声明长度。向其中添加元素的过程也是声明和初始化的过程。
$capitals = array(
'alabama' => 'montgomery',
'alaska' => 'juneau',
'arizona' => 'phoenix'
);
继续添加元素也很简单
$capitals['arkansas'] = 'little rock';
如果不是关联数组而只是数字索引的数组可以使用array_push()和array_unshift()函数增加元素
2、从array中删除元素
从数组中移除元素可以使用unset() 函数
unset($capitals['california']);
也可以使用array_pop()或array_shift()函数从数组头或尾部顺序移除元素
3、array键值互换
如果希望新建数组的键是老数组的值而值是老数组的键,简而言之就是键值对调,则可以使用array_flip()函数完成操作
$capitals = array(
'alabama' => 'montgomery',
'alaska' => 'juneau',
'arizona' => 'phoenix'
);
$states = array_flip($capitals);
// $states = array(
// 'montgomery' => string 'alabama',
// 'juneau' => string 'alaska',
// 'phoenix' => string 'arizona'
// );
4、合并数组
如果希望将两个或多个数组合并成一个新的数组,array_merge()函数可以帮上这个忙^_^
$statecapitals = array(
'alabama' => 'montgomery',
'alaska' => 'juneau',
'arizona' => 'phoenix'
);
$countrycapitals = array (
'australia' => 'canberra',
'austria' => 'vienna',
'algeria' => 'algiers'
);
$capitals = array_merge($statecapitals, $countrycapitals);
5、修改array中的值
譬如希望将数组的中值全部改为小写后大写首字母,使用回调函数递归地对每个数组成员调用是个不错的方法,php中这个函数是php_map()
function capitalize($element)
{
$element = strtolower($element);
return ucwords($element);
}
$capitals = array(
'alabama' => 'montgomery',
'alaska' => 'juneau',
'arizona' => 'phoenix'
);
$capitals = array_map("capitalize", $capitals);
6、根据array的键为数组排序
$capitals = array(
'arizona' => 'phoenix',
'alaska' => 'juneau',
'alabama' => 'montgomery'
);
ksort($capitals);
7、随机化array元素的顺序
shuffle() 和上面的ksort()函数恰恰相反,可以打乱数组现有的秩序,以达到随机化的目的。
$capitals = array(
'arizona' => 'phoenix',
'alaska' => 'juneau',
'alabama' => 'montgomery'
);
shuffle($capitals);
8、查找键或值是否存在
查找是否存在值使用in_array()函数
$capitals = array(
'arizona' => 'phoenix',
'alaska' => 'juneau',
'alabama' => 'montgomery'
);
if (in_array("juneau", $capitals))
{
echo "exists!";
} else {
echo "does not exist!";
}
查找是否存在键使用array_key_exists()函数
$capitals = array(
'arizona' => 'phoenix',
'alaska' => 'juneau',
'alabama' => 'montgomery'
);
if (array_key_exists("alaska", $capitals))
{
echo "key exists!";
} else {
echo "key does not exist!";
}
9、数组查找
这个是老生常谈了,基本上都用的到array_search()函数
$capitals = array(
'arizona' => 'phoenix',
'alaska' => 'juneau',
'alabama' => 'montgomery'
);
$state = array_search('juneau', $capitals);
// $state = 'alaska'
10、使用php标准函数库
一口气介绍这个多操作array的函数,如果您还觉得不过瘾,可以继续查看standard php library 中的内容^_^
$capitals = array(
'arizona' => 'phoenix',
'alaska' => 'juneau',
'alabama' => 'montgomery'
);
$arrayobject = new arrayobject($capitals);
foreach ($arrayobject as $state => $capital)
{
printf("the capital of %s is %s<br />", $state, $capital);
}
// the capital of arizona is phoenix
// the capital of alaska is juneau
// the capital of alabama is montgomery
php是一个弱类型语言。因此不必象c语言那样为php array声明长度。向其中添加元素的过程也是声明和初始化的过程。
复制代码 代码如下:
$capitals = array(
'alabama' => 'montgomery',
'alaska' => 'juneau',
'arizona' => 'phoenix'
);
继续添加元素也很简单
复制代码 代码如下:
$capitals['arkansas'] = 'little rock';
如果不是关联数组而只是数字索引的数组可以使用array_push()和array_unshift()函数增加元素
2、从array中删除元素
从数组中移除元素可以使用unset() 函数
复制代码 代码如下:
unset($capitals['california']);
也可以使用array_pop()或array_shift()函数从数组头或尾部顺序移除元素
3、array键值互换
如果希望新建数组的键是老数组的值而值是老数组的键,简而言之就是键值对调,则可以使用array_flip()函数完成操作
复制代码 代码如下:
$capitals = array(
'alabama' => 'montgomery',
'alaska' => 'juneau',
'arizona' => 'phoenix'
);
$states = array_flip($capitals);
// $states = array(
// 'montgomery' => string 'alabama',
// 'juneau' => string 'alaska',
// 'phoenix' => string 'arizona'
// );
4、合并数组
如果希望将两个或多个数组合并成一个新的数组,array_merge()函数可以帮上这个忙^_^
复制代码 代码如下:
$statecapitals = array(
'alabama' => 'montgomery',
'alaska' => 'juneau',
'arizona' => 'phoenix'
);
$countrycapitals = array (
'australia' => 'canberra',
'austria' => 'vienna',
'algeria' => 'algiers'
);
$capitals = array_merge($statecapitals, $countrycapitals);
5、修改array中的值
譬如希望将数组的中值全部改为小写后大写首字母,使用回调函数递归地对每个数组成员调用是个不错的方法,php中这个函数是php_map()
复制代码 代码如下:
function capitalize($element)
{
$element = strtolower($element);
return ucwords($element);
}
$capitals = array(
'alabama' => 'montgomery',
'alaska' => 'juneau',
'arizona' => 'phoenix'
);
$capitals = array_map("capitalize", $capitals);
6、根据array的键为数组排序
复制代码 代码如下:
$capitals = array(
'arizona' => 'phoenix',
'alaska' => 'juneau',
'alabama' => 'montgomery'
);
ksort($capitals);
7、随机化array元素的顺序
shuffle() 和上面的ksort()函数恰恰相反,可以打乱数组现有的秩序,以达到随机化的目的。
复制代码 代码如下:
$capitals = array(
'arizona' => 'phoenix',
'alaska' => 'juneau',
'alabama' => 'montgomery'
);
shuffle($capitals);
8、查找键或值是否存在
查找是否存在值使用in_array()函数
复制代码 代码如下:
$capitals = array(
'arizona' => 'phoenix',
'alaska' => 'juneau',
'alabama' => 'montgomery'
);
if (in_array("juneau", $capitals))
{
echo "exists!";
} else {
echo "does not exist!";
}
查找是否存在键使用array_key_exists()函数
复制代码 代码如下:
$capitals = array(
'arizona' => 'phoenix',
'alaska' => 'juneau',
'alabama' => 'montgomery'
);
if (array_key_exists("alaska", $capitals))
{
echo "key exists!";
} else {
echo "key does not exist!";
}
9、数组查找
这个是老生常谈了,基本上都用的到array_search()函数
复制代码 代码如下:
$capitals = array(
'arizona' => 'phoenix',
'alaska' => 'juneau',
'alabama' => 'montgomery'
);
$state = array_search('juneau', $capitals);
// $state = 'alaska'
10、使用php标准函数库
一口气介绍这个多操作array的函数,如果您还觉得不过瘾,可以继续查看standard php library 中的内容^_^
复制代码 代码如下:
$capitals = array(
'arizona' => 'phoenix',
'alaska' => 'juneau',
'alabama' => 'montgomery'
);
$arrayobject = new arrayobject($capitals);
foreach ($arrayobject as $state => $capital)
{
printf("the capital of %s is %s<br />", $state, $capital);
}
// the capital of arizona is phoenix
// the capital of alaska is juneau
// the capital of alabama is montgomery
上一篇: C# 打印PDF文档的10种方法