当前位置:  编程技术>php
本页文章导读:
    ▪php一维数组遍历方法的比较分析      在php中,对数组进行遍历的话,for循环只对数字索引有限; for和foreach遍历结束后不需要对数据进行reset()操作即可供下次遍历,而each方法则需要。 大家可以通过如下的例子,仔细体会这三者.........
    ▪php计算两个日期间隔的年、月、周、日数的代码示例      1,计算两个日期间隔的年、月、周、日数,代码如下:   代码示例: <?php /** * 计算两个日期间隔的年、月、周、日数 * edit www. */ function format($a,$b){ //检查两个日期大小,默认前小后.........
    ▪php数组遍历(foreach,list,each)实例演练      php遍历关联数组的三种方法。 方法1:foreach   代码示例: <?php $sports = array( 'football' => 'good', 'swimming' => 'very well', 'running' => 'not good'); foreach ($sports as $key => $value) { echo $key.": ".$va.........

[1]php一维数组遍历方法的比较分析
    来源: 互联网  发布时间: 2013-12-24

在php中,对数组进行遍历的话,for循环只对数字索引有限;
for和foreach遍历结束后不需要对数据进行reset()操作即可供下次遍历,而each方法则需要。

大家可以通过如下的例子,仔细体会这三者在遍历php一维数组时的用法。

代码如下:
 

代码示例:
<?php
//a
$arr=array('a'=>'abc','b'=>123,'c'=>true);
//b
//$arr=range('a','d');
//1
for($i=0;$i<sizeof($arr);$i++)
echo $arr[$i].', ';
echo '<br />';
//2
foreach($arr as $key)
echo "$key, ";
echo '<br />';
//3
foreach($arr as $key=>$val)
echo "$key-$val, ";
echo '<br />';
//4
reset($arr);
while($item=each($arr)){
echo $item['key'].'-'.$item['value'].', ';
}
echo '<br />';
//5
reset($arr);
while(list($key,$val)=each($arr)){
echo "$key-$val, ";
}
echo '<br />';
?>

代码说明:
 

语句a $arr=array('a'=>'abc','b'=>123,'c'=>true); 对$arr进行初始化得到数字索引数组,输出:
, , ,
abc, 123, 1,
a-abc, b-123, c-1,
a-abc, b-123, c-1,
a-abc, b-123, c-1, 使用语句b $arr=range('a','d'); 对$arr进行初始化得到关联数组,输出:
a, b, c, d,
a, b, c, d,
0-a, 1-b, 2-c, 3-d,
0-a, 1-b, 2-c, 3-d,
0-a, 1-b, 2-c, 3-d,
for循环只对数字索引有限;for和foreach遍历结束后不需要对数据进行reset()操作即可供下次遍历,而each方法则需要。

以上就是今天php教程的全部内容了,希望有助于大家掌握php数组遍历的方法,,祝大家学习进步。


    
[2]php计算两个日期间隔的年、月、周、日数的代码示例
    来源: 互联网  发布时间: 2013-12-24

1,计算两个日期间隔的年、月、周、日数,代码如下:
 

代码示例:

<?php
/**
* 计算两个日期间隔的年、月、周、日数
* edit www.
*/
function format($a,$b){
//检查两个日期大小,默认前小后大,如果前大后小则交换位置以保证前小后大
if(strtotime($a)>strtotime($b)) list($a,$b)=array($b,$a);
$start = strtotime($a);
$stop = strtotime($b);
$extend = ($stop-$start)/86400;
$result['extends'] = $extend;
if($extend<7){ //如果小于7天直接返回天数
$result['daily'] = $extend;
}elseif($extend<=31){ //小于28天则返回周数,由于闰年2月满足了
if($stop==strtotime($a.'+1 month')){
$result['monthly'] = 1;
}else{
$w = floor($extend/7);
$d = ($stop-strtotime($a.'+'.$w.' week'))/86400;
$result['weekly'] = $w;
$result['daily'] = $d;
}
}else{
$y= floor($extend/365);
if($y>=1){ //如果超过一年
$start = strtotime($a.'+'.$y.'year');
$a = date('Y-m-d',$start);
//判断是否真的已经有了一年了,如果没有的话就开减
if($start>$stop){
$a = date('Y-m-d',strtotime($a.'-1 month'));
$m =11;
$y--;
}
$extend = ($stop-strtotime($a))/86400;
}
if(isset()($m)){
$w = floor($extend/7);
$d = $extend-$w*7;
}else{
$m = isset($m)?$m:round($extend/30);
$stop>=strtotime($a.'+'.$m.'month')?$m:$m--;
if($stop>=strtotime($a.'+'.$m.'month')){
$d=$w=($stop-strtotime($a.'+'.$m.'month'))/86400;
$w = floor($w/7);
$d = $d-$w*7;
}
}
$result['yearly'] = $y;
$result['monthly'] = $m;
$result['weekly'] = $w;
$result['daily'] = isset($d)?$d:null;
}
return array_filter($result);
}

print_r(format('2012-10-1','2012-12-15'));
?>

输出结果:
Array([extends]=>75[monthly]=>2[weekly]=>2)

2,php 查询某天所在的周数及对应周的起始日期
 

代码示例:
<?php
/**
* @file
* @version 1.1
*/
//获取某个日期的 周数、周对应的开始结束时间
private function getWeekStartEndDay($day)
{
$g = strftime("%u",strtotime($day));
return array('week_num'=>strftime("%V",strtotime($day)),'week_start_day'=>strftime('%Y-%m-%d',strtotime($day)-($g-1)*86400),'week_start_day_cn'=>strftime('%Y年%m月%d日',strtotime($day)-($g-1)*86400),'week_end_day'=>strftime('%Y-%m-%d',strtotime($day) + (7-$g)*86400),'week_end_day_cn'=>strftime('%Y年%m月%d日',strtotime($day) + (7-$g)*86400));
}
?>

    
[3]php数组遍历(foreach,list,each)实例演练
    来源: 互联网  发布时间: 2013-12-24

php遍历关联数组的三种方法。

方法1:foreach
 

代码示例:
<?php
$sports = array(
'football' => 'good',
'swimming' => 'very well',
'running' => 'not good');
foreach ($sports as $key => $value) {
echo $key.": ".$value."<br />";
?>

输出结果:
 

football: good
swimming: very well
running: not good

方法2:each
 

代码示例:
<?php
$sports = array(
'football' => 'good',
'swimming' => 'very well',
'running' => 'not good');
while ($elem = each($sports)) {
echo $elem['key'].": ".$elem['value']."<br />";
?>

方法3:list & each
 

代码示例:
<?php
$sports = array(
'football' => 'good',
'swimming' => 'very well',
'running' => 'not good');
while (list($key, $value) = each($sports)) {
echo $key.": ".$value."<br />";
?>

介绍完了三种遍历php数组的方法,哪个方法更好呢?
这个大家可以找个复杂的数据,进行下效率测试,就明白了。


    
最新技术文章:
▪PHP函数microtime()时间戳的定义与用法
▪PHP单一入口之apache配置内容
▪PHP数组排序方法总结(收藏)
▪php数组排序方法大全(脚本学堂整理奉献)
▪php数组排序的几个函数(附实例)
▪php二维数组排序(实例)
▪php根据键值对二维数组排序的小例子
▪php验证码(附截图)
▪php数组长度的获取方法(三个实例)
▪php获取数组长度的方法举例
▪判断php数组维度(php数组长度)的方法
▪php获取图片的exif信息的示例代码
▪PHP 数组key长度对性能的影响实例分析
▪php函数指定默认值的方法示例
▪php提交表单到当前页面、提交表单后页面重定...
▪php四舍五入的三种实现方法
▪php获得数组长度(元素个数)的方法
▪php日期函数的简单示例代码
▪php数学函数的简单示例代码
▪php字符串函数的简单示例代码
▪php文件下载代码(多浏览器兼容、支持中文文...
▪php实现文件下载、支持中文文件名的示例代码...
▪php文件下载(防止中文文件名乱码)的示例代码
▪解决PHP文件下载时中文文件名乱码的问题
▪php数组去重(一维、二维数组去重)的简单示例
▪php小数点后取两位的三种实现方法
▪php Redis 队列服务的简单示例
▪PHP导出excel时数字变为科学计数的解决方法
▪PHP数组根据值获取Key的简单示例
▪php数组去重的函数代码示例
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3