分享

数组操作

 天下无敌小勇 2016-02-16

php数组操作常用函数

 

1.unset()移出数组中的某个函数

如:


  1. <?php
  2.  
  3. $arr = array(
  4.  
  5. 'baidu' => 'http://www.baidu.com',
  6.  
  7. 'google' => 'http://www.google.com',
  8.  
  9. );
  10.  
  11. unset($arr['baidu']);
  12.  
  13. var_dump($arr); //结果可想而知,键名为baidu的元素被移出了
  14.  
  15. ?>

 

2.array_unshift()在顶部插入函数

如:


  1. <?php
  2.  
  3. $arr = array(3,5);
  4.  
  5. array_unshift($arr,10);
  6.  
  7. var_dump($arr);
  8.  
  9. ?>

结果:

array

  0 => int 10

  1 => int 3

  2 => int 5

 

3.array_splice("数组","起始位置","截取长度","增加元素")在数组的任意位置插入元素,并用其他值取代


  1. <?php
  2.  
  3. $arr = array("c++","java","php");
  4.  
  5. var_dump($arr);
  6.  
  7. array_splice($arr,2,1,"delphi");
  8.  
  9. var_dump($arr);
  10.  
  11. ?>

运行结果:

array

  0 => string 'c++' (length=3)

  1 => string 'java' (length=4)

  2 => string 'php' (length=3)

 

array

  0 => string 'c++' (length=3)

  1 => string 'java' (length=4)

  2 => 

 

4.count()和sizeof() 数组元素的统计,两者的功能完全相同,根据你的喜好使用


  1. <?php
  2.  
  3. $arr = array("c++","java","php");
  4.  
  5. echo "count统计:".count($arr)." sizeof统计:".sizeof($arr);
  6.  
  7. ?>

运行结果:

count统计:3 sizeof统计:3 

 

5.array_flip()数组键名和值对调


  1. <?php
  2.  
  3. $arr = array(
  4.  
  5. 'baidu' => 'http://www.baidu.com',
  6.  
  7. 'google' => 'http://www.google.com',
  8.  
  9. );
  10.  
  11. $flip_arr = array_flip($arr);
  12.  
  13. var_dump($flip_arr);
  14.  
  15. ?>

运行结果:

array

  'http://www.baidu.com' => string 'baidu' (length=5)

  'http://www.google.com' => string 'google' (length=6)

 

5.array_shift()  将数组开头的单元移出数组 

 


  1. <?php
  2.  
  3. $arr = array(
  4.  
  5. 'a'=>'java',
  6.  
  7. 'b'=>'php',
  8.  
  9. 'c'=>'python',
  10.  
  11. );
  12.  
  13. var_dump($arr);
  14.  
  15. array_shift($arr); //移出函数的头元素
  16.  
  17. var_dump($arr);
  18.  
  19. ?>

运行结果:

array

  'a' => string 'java' (length=4)

  'b' => string 'php' (length=3)

  'c' => string 'python' (length=6)

 

array

  'b' => string 'php' (length=3)

  'c' => string 'python' (length=6)

 

 

6.array_push()将一个或多个单元压入数组的末尾(入栈) 

  array_pop() 将数组最后一个单元弹出(出栈)


  1. <?php
  2.  
  3. $arr = array('java','php','.net');
  4.  
  5. array_push($arr,'delphi'); //插入尾部
  6.  
  7. var_dump($arr);
  8.  
  9. array_pop($arr); //弹出尾部
  10.  
  11. var_dump($arr);
  12.  
  13. ?>

运行结果:

array

  0 => string 'java' (length=4)

  1 => string 'php' (length=3)

  2 => string '.net' (length=4)

  3 => string 'delphi' (length=6)

 

 

7.array_splice("数组","起始位置","删除长度")  //从数组任一取出一段


  1. <?php
  2.  
  3. $arr = array('java','php','.net');
  4.  
  5. var_dump(array_splice($arr,1,1));
  6.  
  7. ?>

运行结果

array

  0 => string 'php' (length=3)

 

8.extract()将数组导为变量


  1. <?php
  2.  
  3. $arr = array('phpddt'=>'www.phpddt.com','phpchina'=>'www.phpchina');
  4.  
  5. extract($arr);
  6.  
  7. echo "php点点通的网址是:".$phpddt;
  8.  
  9. ?>

运行结果:

php点点通的网址是:www.phpddt.com 

 

9.reset() 将array 的内部指针倒回到第一个单元并返回第一个数组单元的值如果数组为空则返回 FALSE。 


  1. <?php
  2.  
  3. $array = array('step one', 'step two', 'step three', 'step four');
  4.  
  5. echo current($array) . "<br />\n";
  6.  
  7. next($array);
  8.  
  9. next($array);
  10.  
  11. echo current($array) . "<br />\n"; // "step three"
  12.  
  13. reset($array);
  14.  
  15. echo current($array) . "<br />\n"; // "step one"
  16.  
  17. ?>

运行结果是:

step one

step three

step one

 

  1. <?php
  2. $arr = array(
  3. 'a'=>'java',
  4. 'b'=>'php',
  5. 'c'=>'java',
  6. );
  7. $arr = array_values($arr); //返回数组所有的值,并建立数字索引
  8. $arr1 = array();
  9.  
  10. foreach ($arr as $a){
  11. if (!isset($arr1[$a])){
  12. $arr1[$a] = 1;
  13. }else {
  14. $arr1[$a]++;
  15. }
  16. }
  17.  
  18. echo "<table border='1' cellpadding='5'>";
  19. foreach($arr1 as $k=>$val){
  20. echo "<tr><td>$k</td><td>$val</td></tr>";
  21. }
  22. echo "</table>";
  23. ?>

运行结果:


java 2
php 1

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多