$category
变量将保存在 tags
中已经可用的值(即标签)。表,或者用户可以在此变量中输入新标签,或两者兼而有之。
以下是带标签的查询,如果标签在 tags
中可用 table :
$TagNames = DB::table('tags')
->whereIn('t_name', $category)
->pluck('t_name');
TagNames 的输出:
array(2) { [0]=> string(7) "Zamalek" [1]=> string(4) "Ahly" }
以下是
$category
将保存所有标签的变量,无论它们是用户输入的新标签还是现有标签。$category = $request->get('catBox');
$category
的输出(带有两个额外的新标签):array(4) { [0]=> string(7) "Zamalek" [1]=> string(4) "Ahly" [2]=> string(5) "Gouna" [3]=> string(8) "Pyramids" }
问题是:我如何比较两者
arrays
并在新数组中仅获取差异(即在这种情况下为“Gouna”和“金字塔”)?
最佳答案
如果您只需要从 $category 中检索差异。
您可以使用 PHP 内置函数 array_diff()功能。
$differenceArray = array_diff($category, $TagNames);
请记住,它不会显示 $TagNames 的差异。
要检索所有差异,您可以检索第一个差异和第二个差异并使用 array_merge()功能将其合并在一起。
$differenceArray1 = array_diff($category, $TagNames);
$differenceArray2 = array_diff($TagNames, $category);
$mergeDifference = array_merge($differenceArray1, $differenceArray2);
关于php - 获取 Laravel 中两个数组之间的差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57423351/