我在一个数组中有一个一维数组,我需要通过对象数组中的特定属性/列来过滤它。
我的输入数组由以下代码填充:
$array_one = array_keys(wc_get_account_menu_items());
$array_tow = $wpdb->get_results("SELECT pa_menu_endpoint FROM $phantom_menu WHERE pa_menu_from='pa_custom_tab'");
这些阵列的示例数据:
$array_one = [
'dashboard',
'orders',
'downloads',
'edit-address',
'woo-wallet',
'edit-account',
'customer-logout',
'test',
'testtest'
];
$array_tow = [
(object) ['pa_menu_endpoint' => 'test'],
(object) ['pa_menu_endpoint' => 'testtest']
];
如何从$array_one
数组中排除“pa_menu_endpoint”值。
所需过滤结果:
[
'dashboard',
'orders',
'downloads',
'edit-address',
'woo-wallet',
'edit-account',
'customer-logout'
]
1条答案
按热度按时间h79rfbju1#
当
$a
或$b
不是对象时,您可以直接使用array_udiff()
和比较回调中的null合并运算符,通过二维array_one
数组过滤平面$array_tow
数组,以回退到$array_tow
值。代码:(Demo)
也许更容易理解的方法是预展平过滤数组(
$array_one
)--这是两个函数调用,但没有自定义回调。代码:(Demo)