有关PHP数组的使用技巧

WBOY
풀어 주다: 2016-07-25 08:57:41
원래의
1019명이 탐색했습니다.
  1. $arr = array(

  2. array('id'=>1,'cid' => 1, 'country' => '中国','province'=>'湖南'),
  3. array('id'=>2,'cid' => 1, 'country' => '中国','province'=>'湖南'),
  4. array('id'=>3,'cid' => 3, 'country' => '日本','province'=>'名古屋'),
  5. array('id'=>4,'cid' => 3, 'country' => '日本','province'=>'东京'),
  6. array('id'=>5,'cid' => 1, 'country' => '中国','province'=>'北京'),
  7. array('id'=>6,'cid' => 1, 'country' => '中国','province'=>'山东'),
  8. array('id'=>7,'cid' => 1, 'country' => '中国','province'=>'山东'),
  9. array('id'=>8,'cid' => 2, 'country' => '美国','province'=>'安大略'),
  10. array('id'=>9,'cid' => 2, 'country' => '美国','province'=>'安大略'),
  11. array('id'=>10,'cid' => 3, 'country' => '日本','province'=>'名古屋'),
  12. );
  13. //参考答案:

  14. /*
  15. 对数据的操作基本都是对数组中数据进行重新构造,学会如何构造数组的结构也就掌握了数据的使用方法。这道题目首页需要构造最后要输出的数组结构,这个数组结构可以是最终的,也可以是间接的。下面就是一种数组构造的方式:
  16. $ary =array(
  17. '中国'=>array('湖南'=>2,'山东'=>2,'北京'=>1),
  18. '日本'=>array('名古屋'=>2,'东京'=>1),
  19. '美国'=>array(),
  20. );
  21. */
  22. $data = array();

  23. foreach($arr as $k=>$v){
  24. @$data[$v['country']][$v['province']] +=1; //决该题目的重点,多多体会下。
  25. }
  26. //数据最终的结构
  27. echo '国家:',count($data),'个
    ';
  28. foreach($data as $k=>$v){
  29. echo '    ',$k,':',array_sum($v),'次';
  30. echo '        省份:',count($v),'个
    ';
  31. foreach($v as $kk=>$vv){
  32. echo '       ',$kk,':',$vv,'次
    ';
  33. }
  34. }

  35. ?>
复制代码

输出结果: 国家:3个 中国:5次 省份:3个 湖南:2次 北京:1次 山东:2次 日本:3次 省份:2个 名古屋:2次 东京:1次 美国:2次 省份:1个 安大略:2次 有兴趣的朋友,好好体味下上面代码中数组的应用技巧,好好理解这句:

  1. foreach($arr as $k=>$v){
  2. @$data[$v['country']][$v['province']] +=1; //决该题目的重点,多多体会下。
  3. }
复制代码

掌握下php 数组的实用技巧。



원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!