gpt4 book ai didi

php - 函数打印但不能用于数组

转载 作者:行者123 更新时间:2023-12-04 05:14:08 26 4
gpt4 key购买 nike

我们在尝试将函数生成的多个值插入数组时遇到了麻烦。
当我们使用字符串打印函数并手动复制结果时,它可以工作,但是当我们尝试使用字符串将其工作到数组中时,它却不起作用。

<?php 

function dateRange( $first, $last, $step = '+1 day', $format = 'm/d/Y' ) {

$current = strtotime( $first );
$last = strtotime( $last );

while( $current <= $last ) {

$dates .= "'" . date( $format, $current) . "', ";
$current = strtotime( $step, $current );
}

return $dates;
}

$all_dates = dateRange( '01/20/1999', '01/23/1999');

echo $all_dates; /* PRINTS ALL DATES BETWEEN TWO DATES: '01/20/1999', '01/21/1999', '01/22/1999', '01/23/1999', */

query_posts( array(
'post_type' => 'bbdd',
'meta_query' => array(
$location,
array(
'key' => 'date',
'value' => array($all_dates), /* DOESN'T WORK. INSTEAD, IF WE COPY THE RESULT OF "echo $all_dates;" MANUALLY, IT DOES WORK */
),
)
) );

?>

最佳答案

您在函数中返回一个字符串,而不是一个数组。

function dateRange( $first, $last, $step = '+1 day', $format = 'm/d/Y' ) {

$current = strtotime( $first );
$last = strtotime( $last );

while( $current <= $last ) {

$dates[] = date($format, $current);
$current = strtotime($step, $current );
}

return $dates;
}

这将返回一个数组。

然后,在您的 mysql 查询中:
'value'   => $all_dates

关于php - 函数打印但不能用于数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14501668/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com