PHP 数组基础知识小结
(编辑:jimmy 日期: 2024/11/30 浏览:3 次 )
php函数有很多,需要时查询api。
复制代码 代码如下:
<?php
/*
#数组 没有限制大小:$arr[0]=1;$arr[1]=2; $arr=array("0","1");$list($num1,$num2)=$arr;
array range(int low,int high[,int step])
low最小数,high最高数,step步长
int array_unshift(array array,mixed vari) 数组前面插入
array_push 数组尾添加
array_shift 数组头部删除
array_pop 数组尾部删除
#定位数组
boolean in_array(mixed needle,array haystack,[,boolean strict])
boolean array_key_exists(mixed key,array array) 搜索关键键
array_search() 搜索关联数组值
array_keys()返回数组,包含所搜索的的所有键
array_values()返回数组所有值。
#遍历数组
mixed key(array array)
current(array array) 获取当前数组值
array each(array array) 返回当前键、值对
next(array array) 指向下一个
prev(array array) 移到前一个
reset(array array)移到第一个
end(array array)移到最后一个
#向函数传递数组值
boolean array_walk(array &array,callback function,[,mixed userdata])
#确定数组的大小及唯一性
integer count(array array[,int mode]) 类似sizeof()
array array_count_values(array array) 分组统计每个值出现的次数
array_unique() 删除重复值,保持唯一性
#排序
array_reverse()顺序逆置
array_flip() 对换键与值
void sort(array array[,int sort_flags])
sort_flgs{[SORT_NUMBERIC数值排序],[SORT_REGULAR 按ASCII排序],[SORT_STRING]}
asort()升序
rsort()逆序
arsort()逆序
natsort()自然排序
natcasesort()不区分大小写自然排序
ksort()键值排序
krsort()逆序键值排序
void usort(array array,callback function name) 用户自定义排序
#合并,拆分,结合,分解数组
array_merge_recursive() 合并
array_merge_combine() 追加
array_merge()连接到新数组
array_slice(array array,int offse[,int length]) 拆分
array_intersect()、array_intersect_assoc()数组交集
array_diff()、array_diff_assoc()差集
array_rand()、shuffle()随机数组
array_sum()求和
array_chunk 分成多维数组
*/
//创建0-20的偶数数组,2为步长
$even=range(0,20,2);
//打印数组
print_r($even);
//判断是否为数组
printf("this number is an array:%s<br/>",(is_array($even)?"true":"false"));
echo "<br>";
//数组头部添加子项,并打印
array_unshift($even,522,54);
print_r($even);
//定义一变量,然后在数组中搜索,存在时显示找到该变量。
$sa=522;
if(in_array($sa,$even)){
echo "find it $sa";
};
echo "<br/>";
//搜索数组关键键
if(array_key_exists(4,$even)){
echo $even[4]." exists.";
}
echo "<br/>";
print_r(array_values($even));
//遍历打印数组
while($key=key($even)){
echo "<br/>".$key;
next($even);
}
//统计数组大小
echo "<br/>";
echo count($even);
//排序
echo "<br>";
sort($even);
print_r($even);
?>
复制代码 代码如下:
<?php
/*
#数组 没有限制大小:$arr[0]=1;$arr[1]=2; $arr=array("0","1");$list($num1,$num2)=$arr;
array range(int low,int high[,int step])
low最小数,high最高数,step步长
int array_unshift(array array,mixed vari) 数组前面插入
array_push 数组尾添加
array_shift 数组头部删除
array_pop 数组尾部删除
#定位数组
boolean in_array(mixed needle,array haystack,[,boolean strict])
boolean array_key_exists(mixed key,array array) 搜索关键键
array_search() 搜索关联数组值
array_keys()返回数组,包含所搜索的的所有键
array_values()返回数组所有值。
#遍历数组
mixed key(array array)
current(array array) 获取当前数组值
array each(array array) 返回当前键、值对
next(array array) 指向下一个
prev(array array) 移到前一个
reset(array array)移到第一个
end(array array)移到最后一个
#向函数传递数组值
boolean array_walk(array &array,callback function,[,mixed userdata])
#确定数组的大小及唯一性
integer count(array array[,int mode]) 类似sizeof()
array array_count_values(array array) 分组统计每个值出现的次数
array_unique() 删除重复值,保持唯一性
#排序
array_reverse()顺序逆置
array_flip() 对换键与值
void sort(array array[,int sort_flags])
sort_flgs{[SORT_NUMBERIC数值排序],[SORT_REGULAR 按ASCII排序],[SORT_STRING]}
asort()升序
rsort()逆序
arsort()逆序
natsort()自然排序
natcasesort()不区分大小写自然排序
ksort()键值排序
krsort()逆序键值排序
void usort(array array,callback function name) 用户自定义排序
#合并,拆分,结合,分解数组
array_merge_recursive() 合并
array_merge_combine() 追加
array_merge()连接到新数组
array_slice(array array,int offse[,int length]) 拆分
array_intersect()、array_intersect_assoc()数组交集
array_diff()、array_diff_assoc()差集
array_rand()、shuffle()随机数组
array_sum()求和
array_chunk 分成多维数组
*/
//创建0-20的偶数数组,2为步长
$even=range(0,20,2);
//打印数组
print_r($even);
//判断是否为数组
printf("this number is an array:%s<br/>",(is_array($even)?"true":"false"));
echo "<br>";
//数组头部添加子项,并打印
array_unshift($even,522,54);
print_r($even);
//定义一变量,然后在数组中搜索,存在时显示找到该变量。
$sa=522;
if(in_array($sa,$even)){
echo "find it $sa";
};
echo "<br/>";
//搜索数组关键键
if(array_key_exists(4,$even)){
echo $even[4]." exists.";
}
echo "<br/>";
print_r(array_values($even));
//遍历打印数组
while($key=key($even)){
echo "<br/>".$key;
next($even);
}
//统计数组大小
echo "<br/>";
echo count($even);
//排序
echo "<br>";
sort($even);
print_r($even);
?>
下一篇:一个简单php扩展介绍与开发教程