PHP数组学习笔记
复制代码代码如下所示:
头('content-type:文本/ HTML;字符集= UTF-8);
回声';
功能var_array(数组)
{
回声';
var_dump(数组);
回声';
}
功能printr(数组)
{
回声';
print_r(数组);
回声';
}
功能getarr(SNUM美元,1美元美元的Enum =,= 1步)
{
ARR =范围(美元美元美元美元SNUM,枚举,步骤);
rearr美元=阵();
foreach($ ARR为$ V)
{
rearr美元{ $ V } =兰特(0);
}
unset($ ARR);
返回的rearr;
}
*阵列练习
* /
/ / ---------------------------------------------
/ / array_change_key_case()改变数组索引的大写字母,由最后一个参数决定:case_upper(转换为大写),和case_lower(默认转换为小写)。
exparr美元=阵列(
第一= > 1,
二= > 2,
(‘三'=>阵列
该= > 3,
nengzhuanma= >年,
)
);
printr(array_change_key_case($ exparr)); / /全部转换为小写
printr(array_change_key_case($ exparr {‘三'},case_upper)); / /总资本只有转化为指数债券$ exparr阵列
总结:这个函数只是数组效果的一层,对原始数组没有影响。
回声';
/ / ---------------------------------------------
/ / array_chunk(数组大小,美元,假)
将一个数组划分为多维数组,每个大小大小的数组决定成为多维数组,如果使用原始数组键,真的假数组决定了新数组键。
exparr美元=阵列(4,2,6,会',‘2');
printr(array_chunk(exparr美元,3));
总结:这个函数只是数组效果的一层,对原始数组没有影响。
回声';
/ / ---------------------------------------------
/ / array_combine(keyarr美元,美元valarr)
/ /两个数组,keyarr美元为关键,valarr美元价值
expkey美元=阵列('克',会',没有');
expval美元=阵列(5,8',7');
printr(array_combine(expkey美元,美元expval));
这个数组的函数只影响一个层,并返回一个新数组。
回声';
/ / ---------------------------------------------
/ / array_count_values(数组)
数组中每个值的数组统计值,并将其作为一个新的键值数组作为值的值。
$array =阵列('v1= > '265 ','v2= > '352 ','v3= > '265 ','v4= > '349 ','v5= > '265);
printr(array_count_values($array));
摘要:该函数只能用于字符串和整型值的统计值,以及其他类型的发警告!
回声';
/ / ---------------------------------------------
/ / array_diff($ array1,array2美元…)
/ / $ 2基阵,他的价值不在任何其他参数数组中的值,形成一个新的阵列
$ arr1 =阵列('v4= > 458,'gren ','b5 ','a5);
美元=阵列('v4 arr2'=>598,','a5 ','c4);
printr(array_diff($ ARR1 arr2美元));
摘要:取a查找数组的值不是堆数组,应该使用统计和比较数据。
/ / array_intersect($array,pararr美元,…)
/ /这个功能array_diff功能,只是array_intersect()返回的数据共享,array_diff仅存在于数组数据
回声';
/ / ---------------------------------------------
/ / array_diff_assoc($ array1,array2美元…)
与array_diff / /()函数,但这需要重点比较
回声';
/ / ---------------------------------------------
/ / array_diff_key
与array_diff()函数 / /
但这只需要2美元/关键搜索和其他参数的数组
回声';
/ / ---------------------------------------------
/ / array_diff_uassoc(元前,pararr美元…,回调函数)
与array_diff()函数,但需要用户定义一个回调函数
不理解函数
回声';
/ / ---------------------------------------------
/ / array_diff_ukey(元前,pararr美元…,回调函数)
与array_diff_key()函数 / /,就像array_diff_uassoc,回调函数需要
回声';
/ / ---------------------------------------------
/ / array_fill(startint美元,numint美元,美元的价值)
/ /填充到一个新的价值的阵列,阵列的开始一个新的指数起始位置的确定startint美元,美元指数numint数组生成数量控制。
/ /提示:除了美元的价值,startint美元,美元numint必须编号,否则错误
printr(array_fill(2, 5,币值的));
小结:/不要认为干什么用
回声';
/ / ---------------------------------------------
/ / array_fill_keys(arrkeys美元,美元的价值);
与array_fill()函数/功能。只有这里是arrkeys美元{数组的值到新数组的键}
arrkeys美元=阵列(45 ',要',B,C);
printr(array_fill_keys(arrkeys美元,币值的));
回声';
/ / ---------------------------------------------
/ / array_filter($ ARR,回调回调函数)
基于美元的价值判断 / arr数组/过滤功能,如果回调回调函数返回true,那么当前的键和值添加到新的数组。
提示:回调函数可以编写一条规则来过滤不符合规则的数组键。
函数CB($瓦尔)
{
返回$ % 2 = 0;
}
$array =阵列('k1= > 3,'k2= > 5,'k4= > 54654,'k5= > 8794, 8945, 32549564);
printr($array,'cb);
提示:回调函数名称是引用引号引用的
结论:该方法可以进行数据滤波和集成。
unset(数组);
回声';
/ / ---------------------------------------------
/ / array_flip(数组)
之间的关系的键和值 / /数组转换,字符串类型和集成的关键支持,其他类型会发出警告,而问题的关键价值不发生变化,产生的新数组,如果密钥是相同的,他将继续取代现有的关键的价值。
ARR =阵列('k1美元= > 'v1 ','k2= > 'v2 ','k3= > 'v4 ','k4= > 'v4 ','k5= > 'v5);
printr(array_flip($ ARR));
unset($ ARR);
回声';
/ / ---------------------------------------------
/ / array_key_exists($键,数组)
/ /判断键是否存在于当前数组,返回bool类型。它也可以被用来判断物体
$array =阵列('cb ' = 234,'dv=>45,= > 897);
如果(array_key_exists(一,数组))
回声存在于这个数组中;
其他的
回声不存在;
回声';
/ / ---------------------------------------------
/ / array_keys($array,selsearch_value美元)
返回一个数组中的一个新数组的键和 / /,如果美元selsearch_value指定值,它返回一个数组,等于$ selsearch_value键
$array = getarr(4, 10);
printr(array_keys($array));
printr(array_keys($array,年)); / /值搜索
unset(数组);
总结:这也用于数据统计、数据比较。
回声';
/ / ---------------------------------------------
echo'array_map:';
/ / array_map('callback,数组,…)
传入的函数,并返回回调回调函数的返回值。
回调函数也可以返回一个数组,而回调函数只接受数组的值。
功能mapcb(N)
{
返回$ n * $ n * n;
}
$array = getarr(4, 15);
printr(array_map('mapcb,数组));
回声';
/ / ---------------------------------------------
/ / array_merge(元阵列,阵列2美元…)
多个数组数组,以及索引重写次数。
(1, 5)getarr arr1 =美元;
(5, 10)getarr arr2 =美元;
printr(array_merge($ ARR1 arr2美元));
摘要:多个数组形成一个新数组。
回声';
/ / ---------------------------------------------
/ / array_merge_recursive($美元前,arr2…)
函数,但函数将命名相同的值以形成一个新数组,而不是替换。
但是,如果你想使用,根据实际使用情况
回声';
/ / ---------------------------------------------
/ / array_multisort()
多维数组排序,目前只实现二维数组排序。三维估计不能排列。
此函数将直接更改数组成员的顺序。
回声';
/ / ---------------------------------------------
/ / array_pad(ARR美元,美元价值大小,)
/ /数组,如果当前美元ARR小于美元大小的长度,然后用美元的价值,填补ARR美元美元美元和大小的数组,数组的长度是相等的
/ /如果为ARR的长度大于或等于$大小,那么函数将不会充满改编美元美元尺寸小于0是美元ARR左侧填充,右侧0多
回声';
/ / ---------------------------------------------
/ / array_pop(数组)
最后,删除数组的键。
回声';
/ / ---------------------------------------------
/ / array_product($ ARR)
返回一个数组中的所有数值。
提示:这个函数不能处理非数值类型的数据。如果传入数组包含一个类似A,B的字符串,那么PHP将犯错误。
$arr = array (4,5,5);
回声array_product($ ARR);
回声';
/ / ---------------------------------------------
/ / array_push($ ARR,keyarr美元)
/ /添加keyarr美元至ARR在数组的末尾,增加了密钥/栈。
与array_merge(array_merge_recursive) / /,()两者之间的差异函数:
/ / arrap_push()是添加一个keyarr美元至ARR里面,而其他两个功能的多功能连接成一个函数
回声';
/ / ---------------------------------------------
/ / array_rand($ ARR,$num = 1)
删除当前数组中的一些键,由$决定,默认值是1
如果$为1,则它将返回一个字符串。
如果$民> 1元/个<计数($ ARR)函数返回一个数组
否则PHP / /报错
(5, 15)getarr ARR =美元;
printr(array_rand($ ARR,4));
回声';
/ / ---------------------------------------------
/ / array_reduce()
和(array_map) / /类似通过回调函数,数值数组的处理,并接受返回值
/ /这个函数返回一个字符串。他会计算所有的数组中的值,并返回计算值,而array_map计算值每个键和返回数组下
/不太清楚,示例手册
回声';
/ / ---------------------------------------------
/ / array_replace($array,pararr美元,…)
使用键值中的一系列参数来替换具有相同键的$数组值。
如果后面的参数数组中的数组数组在相应的键中找不到,则添加到后面的新数组中。
/ * $ ARR = getarr(4, 10);
(6, 15)getarr arr2 =美元;
printr($ ARR);
printr($ arr2);* /
基地=阵列('citrus美元的阵列(橙),'berries ' =阵列(黑莓
替代美元=阵列('citrus ' =阵列('pineapple ','berries)=阵列('blueberry '));
printr(array_replace($基地,替代美元));
回声';
/ / ---------------------------------------------
/ / array_replace_recursive替代递归()
与array_replace(AS) / /功能。不同的是,array_replace_recursive()可以对多维数组操作并不会改变数组的结构,和array_replace()最终会回归到一个一维数组。
基地=阵列('citrus美元的阵列(橙),'berries ' =阵列(黑莓
替代美元=阵列('citrus ' =阵列('pineapple ','berries)=阵列('blueberry '));
printr(array_replace_recursive($基地,替代美元));
回声';
/ / ---------------------------------------------
/ / array_reverse($ ARR)
按逆序排列数组键
回声';
/ / ---------------------------------------------
/ / array_search(美元值,数组)
在数组数组中查找键值是$值。
返回false未找到
如果$数组数组的值是多个,它只返回第一个匹配键。
/ /这个功能和array_keys(类似的),不同的是返回值:(array_search)将只返回一个匹配的名字,和(array_keys)可以返回一个一维数组组成的所有匹配的钥匙
回声';
/ / ---------------------------------------------
/ / array_shift($ ARR)
/ /删除第一个关键ARR阵列在当前美元,和后面的排列数(但不改变原来的顺序),非数字指标不变。
/ /这个功能和array_pop(类似),array_pop()不同的是删除是最后一个,(array_shift)去除头
回声';
/ / ---------------------------------------------
/ / array_slice(ARR美元美元美元,抵消,长度= 0,false)阵列拦截
/ /返回当前美元美元抵消抵消arr数组,$长度/关键要素,并形成一个新的数组返回
如果$偏移量或$长度为负,也就是朝相反的方向移动。
和(子) / /感觉相似字符串截取
在这个案例中直接使用PHP手册
$输入=数组()
输出= array_slice美元(美元输入,2); / / C返回
输出= array_slice美元(美元输入,2, 1); / /返回D
输出= array_slice美元(美元输入,0, 3); / /返回
请注意数组键中的差异
printr(array_slice(美元输入,2,1));
printr(array_slice(美元输入,2,1,真的));
回声';
/ / ---------------------------------------------
/ / array_spslice(ARR美元美元美元,偏移量,长度)
与array_slice()函数 / /相反的作用是除去这些元素之间的偏移量和长度位于美元美元
unset($ ARR);
回声';
/ / ---------------------------------------------
/ / array_sum($ ARR)
/ /将所有值的总和为arr数组,如果非数值类型试图转换,但大多数的转换0
/ /这个功能只会影响一层的阵列,和array_product(类似)
$ ARR =阵列(
45,56,A,B = > getarr(1, 2),
);
printr($ ARR);
echo'array_sum($ ARR),array_sum($ ARR);
回声';
/ / ---------------------------------------------
/ / array_values($ ARR)
/ / $arr values in the array are extracted to form a new array
$ ARR =阵列(
K1= > 45,'k2= > 56,'k3= > A,B = > getarr(1, 2),
);
printr(array_values($ ARR));
回声';
/ / ---------------------------------------------
/ / array_unique($ ARR)使权值数组
美元 / /数组arr的重新调度,重复值滤波。许多相同的价值观只会保持一
回声';
/ / ---------------------------------------------
/ / array_walk($ ARR,回调函数回调{ },sel_perfix美元= '')
对于每个键当前数组到回调函数进行处理
/ /如果加上$ sel_perfix参数,三个参数的回调函数接收,或者是一个错误
此函数只影响一层。
水果=数组(= 柠檬
功能test_alter(1美元,美元的关键,为前缀)
{
1美元= 为前缀:1美元;
}
printr(array_walk($水果,'test_print '));
array_walk($水果,'test_alter ','fruit);
回声';
/ / ---------------------------------------------
/ / array_walk_recursive()
/ /功能类似于array_alk();但他将每层递归结构数组arr美元,返回的数组不改变原数组
回声';
/ / ---------------------------------------------
/ / arsort($ ARR)
根据一个键数组/排序数组来排序字母。如果排序失败,它将返回null。
回声';
/ / ---------------------------------------------
/ / asort()
/ /功能类似于arsort(),不同的是:()是一种分类的价值