我有以下代码。 $ results数组输出如此
[1] => stdClass Object ( [ID] => 4429 [post_date_gmt] => 2015-03-05 11:04:18 )
在第二个循环中,我计算今天时间与过期日期之间的差异。在IF语句中返回正确的结果,但是为了到达此处,我已经丢失了原始$results
数组中的ID。如果$difference < 72
所以问题是 - 是否可以在保持ID和post_date_gmt的同时进入IF语句?
<?php
global $wpdb;
$results = $wpdb->get_results(
"SELECT ID, post_date_gmt
FROM wp_posts
WHERE post_type = 'job_listing'"
);
print_r($results);
$jobids = array();
$jobdates = array();
foreach($results as $oneitem) {
$jobids[]=$oneitem->ID;
$jobdates[]=$oneitem->post_date_gmt;
}
foreach($jobdates as $value) {
$postdate = $value;
$today = time();
$postdate = strtotime($postdate);
//echo $postdate;
$difference = round(abs($today-$postdate)/60/60);
if($difference < 72) {
echo $difference;
//change a value in the database where the id matches the id from the $results array
}
}
?>
感谢您的任何建议!
答案 0 :(得分:0)
在构建阵列时,为什么不使用作业ID作为jobdates数组的键?
foreach($results as $oneitem) {
$jobdates[$oneitem->ID]=$oneitem->post_date_gmt;
}
然后当你为第二个foreach循环调用该数组时,也可以调用该键foreach($jobdates as $key => $value)
,它可以使用并正确关联。