Как проверить, имеют ли два индексированных массива одинаковые значения, даже если порядок не совпадает с PHP?

Я хочу сравнить два индексированных массива таким образом, что значения будут одинаковыми для двух массивов, но порядок может отличаться, например, я пытался это сделать, но он просто не работает.

Пример 1:

$a = array(1,2,3,4,5); $b = array(1,2,3,5,4); echo ($a == $b) ? 'Match Found' : 'No Match Found'; //Returns No Match Found 

Пример 2: (попробовал сортировку массива, но он не сортирует)

 $a = array(1,2,3,4,5); $a = sort($a); $b = array(1,2,3,5,4); $b = sort($b); echo ($a === $b) ? 'Match Found' : 'No Match Found'; //Returns Match Found 

выше пример возвращает match Found, и это потому, что sort() возвращает 1, если я пытаюсь сортировать индексированный массив, и оба $a и $b содержат 1 после сортировки, в результате чего условие является истинным, что совершенно неверно, этот трюк, похоже, не работает , я пробовал со многими различными функциями сортировки, такими как asort() , arsort() т. д., но никто не работает.

каково обходное решение для этого?

Спасибо

Вместо сравнения возвращаемых значений sort , почему бы вам просто не сравнить массивы после их сортировки?

 $a = array(1,2,3,4,5); sort($a); $b = array(1,2,3,5,4); sort($b); echo ($a == $b) ? 'Match Found' : 'No Match Found'; 

Если массивы имеют разные ключи, но одинаковые значения, они будут считаться равными. Вы также должны сравнить ключи массива, если это проблема.

 $a = array(1,2,3,4,5); $b = array(1,3,2,5,3,4); if(count($a) == count($b) && count(array_diff($a, $b)) == 0){ echo "A"; } 

Нужно выполнить проверку длины или два вышеприведенных массива выйдет так же.

edit: лучшее решение.