Heim  >  Artikel  >  Backend-Entwicklung  >  有关PHP数组的使用技巧

有关PHP数组的使用技巧

WBOY
WBOYOriginal
2016-07-25 08:57:411063Durchsuche
  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 数组的实用技巧。



Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn