php - 匹配两个数组,如果没有匹配的 ID,则将 post 置于挂起状态
问题描述
所以我有点困惑,需要社区的一些帮助,所以我有一段正在处理的代码,我想比较两个数组,然后如果 ID 不匹配,则将帖子置于待处理状态状态。
我有以下方法:
/**
* Update Office titles
*/
function update_office_titles() {
$office_data = build_offices_array();
$compare_ids = [];
foreach ($office_data as $office) {
$compare_ids[] = [
'wp_office_id' => $office['office_id']
];
}
foreach (api_offices_raw() as $api_office_id) {
$compare_ids[] = [
'api_id' => $api_office_id->id
];
}
print_r($compare_ids);
echo 'All of the office titles have been updated';
}
在这里,我获取所有office_id
post_meta 并获取数据库中的所有 post_meta 值:
foreach ($office_data as $office) {
$compare_ids[] = [
'wp_office_id' => $office['office_id']
];
}
我得到以下回报:
[243] => Array
(
[wp_office_id] => 3
)
[244] => Array
(
[wp_office_id] => 4
)
然后我有这个 foreach 循环通过带有 ID 的 API:
foreach (api_offices_raw() as $api_office_id) {
$compare_ids[] = [
'api_id' => $api_office_id->id
];
}
我得到这个输出:
[246] => Array
(
[api_id] => 1
)
[247] => Array
(
[api_id] => 3
)
这是我试图实现的目标:
检查api_id
并将它们与wp_office_id
键值匹配,如果有匹配的 ID,则不要执行任何操作,否则调用 wp_update_post 并将所有不匹配$office['post_id']
的 ID的状态设置为挂起。wp_office_id
感谢所有帮助!
解决方案
推荐阅读
- sql-server - 批处理文件不记录 SQL 错误
- sql-server - 哪个 SQL Profiler Trace 模板显示表类型参数值
- javascript - D3.js - 数组的第一个值丢失
- python - 如何将python版本从google colab的默认3.5更改为3.8
- git - 解决冲突 Git LFS
- spring - JPA。在sql select中强制转换@Entity的字段
- python - 使用 GmailAPI 在帐户设置中添加自动转发时出现问题
- autocomplete - AMP amp-autocomplete - 单击时转到 url
- python - ModuleNotFoundError:没有名为“Projectfolder.MAINFOLDER”的模块;'Projectfolder' 不是一个包
- c# - Visual Studio 2017 Pro - XAML 设计器因创建新项目而崩溃