找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1720|回复: 0

[教程] php 数组的指针操作

[复制链接]
发表于 2013-4-12 09:36:30 | 显示全部楼层 |阅读模式 来自 中国–广东–湛江
  1. array('key'=>'value');建立数组
  2.   //显示数组
  3.   print_r($array);
  4.   //使用compact()函数新建数组,并把参数做为新数组的单元;
  5.   $newArray = compact('red','green','yellow','blue','array');
  6.   //使用extract()函数把数组中的单元转换为变量
  7.   extract($exArray);
  8.   echo '$key1 $key2 $key3 $key4 $key5';
  9.   ※检查值、键
  10.   array_key_exists($key,$array);//检查数组键
  11.   in_array($value,$array);//检查值于数组
  12.   ※获取值
  13.   //使用array_values()取得数组的值
  14.   $carValues = array_values($car);
  15.   //取出数组的键名
  16.   $twoKeys = array_keys($two);
  17.   key($array);//输出当前单元的键名
  18.   //数组定义后,使用current()取得当前单元的值
  19.   $red = current($array);
  20.   list($red,$green) = $array;//把数组中的值赋与变量,$array = array('红色','绿色');
  21.   each($two);//返回数组中当前单元的键和值
  22.   ※遍历数组
  23.   foreach($two as $subArray);//遍历数组
  24.   while(list($key,$value) = each($array)){
  25.   echo '$key=>$value,';//使用each遍历数组
  26.   }
  27.   ※填充数组
  28.   //向左、右填充数组
  29.   array_pad($array,+3,'shuzhi');//2参数为正从左往右填充,数值大于单元数时才填充
  30.   $array1 = array_fill(5,5,'test');//使用array_fill()填充这个数组的值,值为test,从第5个单元开始填充,一共填充5个单元
  31.   //填充数组键名
  32.   $keys = array('string', 5, 10, 'str');
  33.   $array3 = array_fill_keys($keys,'数组值');
  34.   //使用array_filp()函数交换键名与值
  35.   $speed = array_flip($speed);
  36.   //使用array_splice()函数替换第6个单元的值为7
  37.   $output = array_splice($input,6,0,7);
  38.   //使用array_splice()函数删除数组单元,只保留前5个单元
  39.   $output = array_splice($input,5);
  40.   $array1 = range(10,100,10); //使用range()函数的第三个参数,设置单元之间的步进值
  41.   ※排序
  42.   shuffle($array);//将数组顺序打乱
  43.   //使用array_multisort()对三个数组排序
  44.   array_multisort($sort1,$sort2,$sort3);
  45.   //把这个数组进行排序,并保持索引关系
  46.   asort($array);
  47.   //把测试数组进行逆向排序,并保持索引关系
  48.   arsort($array);
  49.   //使用ksort()对数组按键名排序
  50.   ksort($array);
  51.   //使用krsort()函数按键名逆向排序
  52.   krsort($array);
  53.   //使用sort()对测试数组进行排序[以键名排列]
  54.   sort($array);
  55.   //使用natsort()排序[自然排序,以数值排列]对单元数值大小写敏感
  56.   natsort($array);
  57.   //使用natcasesort()函数排序[自然排序]但是忽略数值大小写
  58.   natcasesort($array);
  59.   //使用array_reverse()函数排序,数组单元按相反排列
  60.   $newArray = array_reverse($array,TRUE);//TRUE设时保留原键名
  61.   ※交集、差集
  62.   //使用array_diff()计算三个数组的差集[对数组数值比较]
  63.   $result = array_diff($dog1,$dog2,$dog3);
  64.   //使用array_diff_assoc()计算三个数组的差集[对数值和键名比较]
  65.   $result = array_diff_assoc($dog1,$dog2,$dog3);
  66.   //使用array_diff_key()计算三个数组的差集[比较键名]
  67.   $result = array_diff_key($dog1,$dog2,$dog3);
  68.   //使用array_intersect()计算三个数组的交集[对数组数值比较]
  69.   $result = array_intersect($dog1,$dog2,$dog3);
  70.   //使用array_intersect_assoc()计算三个数组的交集[对数值和键名比较]
  71.   $result = array_intersect_assoc($dog1,$dog2,$dog3);
  72.   //使用array_intersect_key()计算三个数组的交集[比较键名]
  73.   $result = array_intersect_key($dog1,$dog2,$dog3);
  74.   ※合并数组
  75.   //使用array_merge()函数合并数组
  76.   $result = array_merge($array1,$array2,$array3,$array4,$array5);
  77.   array_rand($input,10);//随机取出10个单元
  78.   count($array,COUNT_RECURSIVE);//显示数组单元数目,2参数只可为1或者COUNT_RECURSIVE,有时可遍历多维数组
  79.   ※出入栈
  80.   //数组出栈,后进先出,数组最后一个单元弹出
  81.   array_pop($array);
  82.   //数组入栈,将7,8两个数值添加到数组尾部
  83.   array_push($array,7,8);
  84.   //将数组开头单元移出数组
  85.   array_shift($array);
  86.   //将7,8添加入数组开头
  87.   array_unshift($array,7,8);
复制代码

评分

参与人数 1金币 +1 收起 理由
猫性男孩 + 1 描述详细,值得鼓励

查看全部评分

发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;

如何回报帮助你解决问题的坛友,好办法就是点击帖子下方的评分按钮给对方加【金币】不会扣除自己的积分,做一个热心并受欢迎的人!

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则 需要先绑定手机号

关闭

站长推荐上一条 /1 下一条

QQ|侵权投诉|广告报价|手机版|小黑屋|西部数码代理|飘仙建站论坛 ( 豫ICP备2022021143号-1 )

GMT+8, 2024-12-22 21:04 , Processed in 0.135019 second(s), 13 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表