У меня есть следующий код. Выходы $ Результатов массива как такphp массивы, временные метки и циклы
[1] => stdClass Object ([ID] => 4429 [post_date_gmt] => 2015-03-05 11:04:18)
Во втором цикле я вычисление разности между сегодняшним временем и постдатировать. Правильные результаты возвращаются в инструкции IF, однако для получения здесь я потерял ID из исходного массива $results
. Мне нужно изменить значение в базе данных на основе идентификатора, если $difference < 72
Итак, вопрос в том, можно ли перейти к инструкции IF при сохранении идентификатора и post_date_gmt вместе?
<?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
}
}
?>
Спасибо за любые предложения!
Спасибо @GeoffAtkins. Значит, $ key будет ID? –
@IanButler - Правильно. Вы используете ключ массива для переноса идентификатора. Просто слово предупреждения, это будет работать, только если идентификаторы уникальны, поскольку ключи массива должны быть уникальными. Если у вас есть повторяющиеся идентификаторы, вам нужно создать многомерный массив для переноса идентификаторов и дат работы вместе. –