Я использовал array_diff для сравнения с 2 строками, преобразованными в массивы, взорвался, он может сравнивать 2 массива одинаковой длины, как я сравниваю массивы разной длины?PHP array_diff для сравнения 2 массивов с разной длиной?
Ex.
Array1: the quisck browsn fosx
Array2: Быстро коричневая лиса
Works !!
Array1: quisck browsn
array2: быстрая коричневая лиса
не работает !! (лисица не было упомянуто)
<?php
$str1 = "The quisck browsn";
$str2 = "The quick brown fox";
$tempArr;
$var2;
$ctr=0;
echo "Array1:<br> $str1 <br><br>Array2:<br> $str2";
$strarr = (explode(" ",$str1));
echo("<br>");
$strarr2 = (explode(" ",$str2));
echo("<br>");
$result = array_diff($strarr,$strarr2);
//print_r($result);
if (count($result) > 0){
echo "<br>Differences: | " ;
foreach ($result AS $result){
echo $result." | ";
}
}
'array_diff' может обрабатывать массивы разной длины просто отлично. – deceze
сэр, если вы запустите мой код, вы увидите, что array_diff игнорирует последнее значение Array2, которое является лисой. Могу ли я спросить, могла ли какая-то часть моего кода быть причиной этого, если не array_diff? –
Что вам может не хватать, так это то, что 'array_diff' *" возвращает массив, содержащий все записи __from 'array1'__, которые не присутствуют ни в одном из других массивов." * Http://php.net/array_diff – deceze