博主信息
博文 29
粉丝 0
评论 0
访问量 20950
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
数组函数学习小结
P粉317509817
原创
815人浏览过
  1. <?php
  2. // array_udiff用回调函数比较数据来计算数组的差集
  3. // 要对比的数组
  4. $array1 = array(new stdclass, new stdclass,
  5. new stdclass, new stdclass,
  6. );
  7. $array2 = array(
  8. new stdclass, new stdclass,
  9. );
  10. // 为每个对象设置一些属性
  11. $array1[0]->width = 11; $array1[0]->height = 3;
  12. $array1[1]->width = 7; $array1[1]->height = 1;
  13. $array1[2]->width = 2; $array1[2]->height = 9;
  14. $array1[3]->width = 5; $array1[3]->height = 7;
  15. $array2[0]->width = 7; $array2[0]->height = 5;
  16. $array2[1]->width = 9; $array2[1]->height = 2;
  17. function compare_by_area($a, $b) {
  18. $areaA = $a->width * $a->height;
  19. $areaB = $b->width * $b->height;
  20. if ($areaA < $areaB) {
  21. return -1;
  22. } elseif ($areaA > $areaB) {
  23. return 1;
  24. } else {
  25. return 0;
  26. }
  27. }
  28. $array3=array_udiff($array1, $array2, 'compare_by_area');
  29. printf('<pre>%s</pre>',print_r($array3,true));
  30. echo '<hr>';
  31. // array_reverse — 返回单元顺序相反的数组
  32. $input = array("php", 4.0, array("green", "red"));
  33. $reversed = array_reverse($input);
  34. $preserved = array_reverse($input, true);//true保持原有的key值,默认为false
  35. printf('<pre>%s</pre>',print_r($input,true));
  36. printf('<pre>%s</pre>',print_r($reversed,true));
  37. printf('<pre>%s</pre>',print_r($preserved,true));
  38. echo '<hr>';
  39. // array_intersect_uassoc — 带索引检查计算数组的交集,用回调函数比较索引
  40. $array1 = array("a" => "green", "b" => "brown", "c" => "blue", "red");
  41. $array2 = array("a" => "GREEN", "B" => "brown", "yellow", "red");
  42. printf('<pre>%s</pre>',print_r(array_intersect_uassoc($array1, $array2, "strcasecmp"),true));
  43. echo '<hr>';
  44. // array_walk_recursive — 对数组中的每个成员递归地应用用户函数
  45. $sweet = array('a' => 'apple', 'b' => 'banana');
  46. $fruits = array('sweet' => $sweet, 'sour' => 'lemon');
  47. function test_print($item, $key)
  48. {
  49. echo "$key holds $item <br>";
  50. }
  51. array_walk_recursive($fruits, 'test_print');
  52. echo '<hr>';
  53. // array_uintersect — 计算数组的交集,用回调函数比较数据
  54. $array5 = array("a" => "green", "b" => "brown", "c" => "blue", "red");
  55. $array4 = array("a" => "GREEN", "B" => "brown", "yellow", "red");
  56. printf('<pre>%s</pre>',print_r(array_uintersect($array5, $array4, "strcasecmp"),true));

效果:

批改老师:PHPzPHPz

批改状态:合格

老师批语:
本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
作者最新博文
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学