【发布时间】:2015-06-24 09:55:11
【问题描述】:
我正在使用两个数组,$local 和 $national。目前,它们都在各自独立的 foreach 循环中,我使用如下:
$list // 1st array
$national // 2nd array
$numberlist = array();
$numbernational = array();
foreach($list as $rows)
{
// here I have a bunch of code that defines the variable $cheapestdeliverydate
if(strtotime(date('DjMY', strtotime($_GET['inputDate']))) >= strtotime($cheapestdeliverydate))
{
$numberlist[] = $rows;
}
}
foreach($national as $rows)
{
// here I have a bunch of code that defines the variable $cheapestdeliverydate
if(strtotime(date('DjMY', strtotime($_GET['inputDate']))) >= strtotime($cheapestdeliverydate))
{
$numbernational[] = $rows;
}
}
有没有办法合并这两个 foreach 函数?我尝试了以下方法:
foreach(array_merge($list, $national) as $rows)
{
if(strtotime(date('DjMY', strtotime($_GET['inputDate']))) >= strtotime($cheapestdeliverydate))
{
$numberlist[] = $rows;
$numbernational[] = $rows;
}
}
但不幸的是,当我对 $numberlist 和 $numbernational 执行 print_r 时,它们都返回完全相同的数组。事后看来,现在这对我来说是有意义的,所以我想知道我是否可以按照以下方式做一些事情:
foreach($list as $row, $national as $rows)
{
if(strtotime(date('DjMY', strtotime($_GET['inputDate']))) >= strtotime($cheapestdeliverydate))
{
$numberlist[] = $row;
$numbernational[] = $rows;
}
}
$list 和 $national 数组的大小相同。
【问题讨论】:
-
您遇到了什么错误?编写这两个数组的格式树
-
数组有什么关联吗?它们是否包含相同数量的行?你得到什么服务器错误(这类信息对于诊断问题非常有用,所以告诉我们你得到什么错误会有所帮助……这个错误不是国家机密吗?)
-
如果您需要像 atm 那样将 foreach 的结果分成两个数组(
numbernational和numberlist),那么我会保留两个 foreach 循环,因为您可能想做一些不同的事情天。 -
@MarkBaker 刚刚编辑了这个问题。两个数组包含相同数量的行。这次我没有收到服务器错误,所以可能是我的本地主机在那个特定时间播放。有什么想法吗?
-
$cheapestdeliverydate是如何计算的?它是否取决于来自$list和/或$national的值?