PHP - 循环并向项目添加/追加项目

时间:2014-11-17 21:22:16

标签: php arrays

新手编码器在这里。我试图修改一些我基本上通过数据库查找的代码并返回为所述属性的度假租赁预订的数组日期。但是,长话短说,我需要比较两个属性,并创建一个数组中预订的天数和数组。所以基本上,我需要两组查询中的一个长数组。

我认为我有CONCEPT,而不是所需的确切语法,因为看起来我的数组被覆盖在第二,第三,第四,无论什么循环。

$bookedDates = array();
$idlist = explode(',', $_GET['id']);   //stored as integers, ie 342,653

foreach ($idlist as $ids) {
    $sql = "exec dbo.SProc_OnlineBookedDays '" 
                . $database->escapeString($ids) . "', " 
                . date('m', $startDate) . ", " . date('Y', $startDate);

    $resultsArray = $database->query($sql);

    if ($resultsArray) {
        foreach ($resultsArray as $row) {
            $bookedDates[] = strtotime(date('m', $startDate) . '/' 
                            . $row['computed'] . '/' . date('Y', $startDate));
        }
    }
}
print_r($bookedDates);

我有一种感觉问题就是那个sortedDates []语法。是?提前感谢您的帮助!

数组只显示最后一个$ ID,而不是数组合。

实施例: 记录1的结果

Array
(
    [0] => 'apple'
    [1] => 'cranberry'
    [2] => 'juice'
)

记录2的结果

Array
(
    [0] => 'oranges'
    [1] => 'pineapple'
    [2] => 'rasberry'
)

他们应该合并到

Array
(
    [0] => 'apple'
    [1] => 'cranberry'
    [2] => 'juice'
    [3] => 'oranges'
    [4] => 'pineapple'
    [5] => 'rasberry'
)

但我只是在print_r期间获得了Record 1的结果。

2 个答案:

答案 0 :(得分:0)

嗯......您可以使用array_merge( $arr1, $arr2 ); [docs]而不是循环遍历所有元素......但如果您只是从其中一个数组中获取结果,那就是&#39 ;可能是其中一个查询返回空结果。

另一方面,你应该避免在foreach循环上执行查询;您可能想要检查是否有任何方法可以使用单个查询获得两天的结果。

答案 1 :(得分:0)

如果您的数组键是相同的,您可以使用array_merge,它基本上将两个数组合并为一个我正确的问题

$array_one = array('0' => 'oranges', '1' => 'pineapple', '2' => 'rasberry');
$array_two = array('0' => 'apple', '1' => 'cranberry', '2' => 'juice');

$outcome = array_merge($array_one, $array_two);