array_dif 不工作,因为输出为空
array_dif not working as the output is empty
我创建了 2 个数组并想检查两个数组(值)之间的差异。如果我将我的数组与函数 array_diff 一起使用,响应是一个空数组,这很奇怪,因为我根本找不到问题。
我的设置:
// first array
$listing_products_sku = [
'55995', '55996', '55999', '56000', '56005', '56006', '56007',
'56008', '56021', '56022', '56023', '56024', '56029', '56030',
'56031', '56032', '56036', '56037',
];
// second array:
$internal_products_sku = [
'56015', '56016', '56014', '56018', '56019', '56020', '55994',
'55995', '55996', '55997', '55998', '55999', '56000', '56001',
'56002', '56003', '56005', '56004', '56006', '56007', '56008',
'56009', '56010', '56011', '56012', '56013', '56017', '56021',
'56022', '56023', '56024', '56025', '56026', '56027', '56028',
'56029', '56030', '56031', '56032', '56033', '56034', '56035',
'56036', '56037', '56038', '56039', '56040', '56041', '60434',
'60435',
];
// used function:
$diff_result = array_diff($listing_products_sku, $internal_products_sku);
print_r($diff_result);
输出
Array ( )
需要帮助
有人能解释为什么会发生这种情况以及我如何才能让它发挥作用吗?
array_diff()
returns 来自第一个数组的数组包含其余数组中不存在的值 (http://php.net/manual/en/function.array-diff.php)。由于您的第一个数组的元素已经存在于第二个数组 ($internal_products_sku
) 中,这就是为什么其 returning 空数组的原因。
因此,要找到差异,您只需将 $internal_products_sku
数组作为第一个参数,然后检查
$diff_result = array_diff($internal_products_sku, $listing_products_sku);
print_r($diff_result);
现在它将 return 一个数组,其值在 $listing_products_sku
中不存在
我创建了 2 个数组并想检查两个数组(值)之间的差异。如果我将我的数组与函数 array_diff 一起使用,响应是一个空数组,这很奇怪,因为我根本找不到问题。
我的设置:
// first array
$listing_products_sku = [
'55995', '55996', '55999', '56000', '56005', '56006', '56007',
'56008', '56021', '56022', '56023', '56024', '56029', '56030',
'56031', '56032', '56036', '56037',
];
// second array:
$internal_products_sku = [
'56015', '56016', '56014', '56018', '56019', '56020', '55994',
'55995', '55996', '55997', '55998', '55999', '56000', '56001',
'56002', '56003', '56005', '56004', '56006', '56007', '56008',
'56009', '56010', '56011', '56012', '56013', '56017', '56021',
'56022', '56023', '56024', '56025', '56026', '56027', '56028',
'56029', '56030', '56031', '56032', '56033', '56034', '56035',
'56036', '56037', '56038', '56039', '56040', '56041', '60434',
'60435',
];
// used function:
$diff_result = array_diff($listing_products_sku, $internal_products_sku);
print_r($diff_result);
输出
Array ( )
需要帮助
有人能解释为什么会发生这种情况以及我如何才能让它发挥作用吗?
array_diff()
returns 来自第一个数组的数组包含其余数组中不存在的值 (http://php.net/manual/en/function.array-diff.php)。由于您的第一个数组的元素已经存在于第二个数组 ($internal_products_sku
) 中,这就是为什么其 returning 空数组的原因。
因此,要找到差异,您只需将 $internal_products_sku
数组作为第一个参数,然后检查
$diff_result = array_diff($internal_products_sku, $listing_products_sku);
print_r($diff_result);
现在它将 return 一个数组,其值在 $listing_products_sku