有关PHP数组的使用技巧

发布时间:2020-10-29编辑:脚本学堂
本文介绍下,在php编程中有关数组的一些用法技巧,通过一个例子来学习下相关的数组技巧知识,有需要的朋友参考下。

分享一个php数组的应用实例,从中学习些php数组的应用技巧。

问题:
使用简单的方法,统计以下数据中国家数以及属于该国家的省份出现的次数。

完整代码:
 

复制代码 代码示例:

<?php
$arr = array(
    array('id'=>1,'cid' => 1, 'country' => '中国','province'=>'湖南'),
    array('id'=>2,'cid' => 1, 'country' => '中国','province'=>'湖南'),
    array('id'=>3,'cid' => 3, 'country' => '日本','province'=>'名古屋'),
    array('id'=>4,'cid' => 3, 'country' => '日本','province'=>'东京'),
    array('id'=>5,'cid' => 1, 'country' => '中国','province'=>'北京'),
    array('id'=>6,'cid' => 1, 'country' => '中国','province'=>'山东'),
    array('id'=>7,'cid' => 1, 'country' => '中国','province'=>'山东'),
    array('id'=>8,'cid' => 2, 'country' => '美国','province'=>'安大略'),
    array('id'=>9,'cid' => 2, 'country' => '美国','province'=>'安大略'),
    array('id'=>10,'cid' => 3, 'country' => '日本','province'=>'名古屋'),
);

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

$data = array();
foreach($arr as $k=>$v){
    @$data[$v['country']][$v['province']] +=1;    //决该题目的重点,多多体会下。
}
//数据最终的结构
echo '国家:',count($data),'个<br>';
foreach($data as $k=>$v){
    echo '&nbsp;&nbsp;&nbsp;&nbsp;',$k,':',array_sum($v),'次';
    echo '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;省份:',count($v),'个<br>';
    foreach($v as $kk=>$vv){
        echo '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;',$kk,':',$vv,'次<br>';
    }

}
?>

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

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

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