У меня есть два массива. Кажется, что они содержат хотя бы один одинаковый набор значений, но выполнение array_diff()
не возвращает ничего, хотя я думаю, что это нужно! Это должен был быть обычный рутинный код, но по какой-то причине ему не нравится то, что я сделал.
Странно то, что var_dump($queue[0]);
возвращает String(167);
и var_dump($videos[0])
возвращает String(168)
.
Так ясно, что они должны быть разными?
echo similar_text($queue[0]), $videos[0]);
возвращает 167
. Что!?
Примечание. Это просто имена файлов и не представляют содержимое файла.
Видео Массив
Array ( [0] => /var/www/downloads/j2/Dexter Season 1, 2, 3, 4, 5 & 6 + Extras (Early Cuts, Audiobooks etc) DVDRip HDTV TSV/Season 3/Dexter Season 3 Episode 04 - All in the Family.avi )
Массив очереди
Array ( [0] => /var/www/downloads/j2/Dexter Season 1, 2, 3, 4, 5 & 6 + Extras (Early Cuts, Audiobooks etc) DVDRip HDTV TSV/Season 3/Dexter Season 3 Episode 04 - All in the Family.avi [1] => j2 )
Результаты
$diff = array_intersect($queue,$videos); print_r($diff);
возвращает Array ( )
var_dump($queue[0]);
возвращает string(167) "/var/www/downloads/j2/Dexter Season 1, 2, 3, 4, 5 & 6 + Extras (Early Cuts, Audiobooks etc) DVDRip HDTV TSV/Season 3/Dexter Season 3 Episode 04 - All in the Family.avi"
var_dump($videos[0]);
возвращает string(168) "/var/www/downloads/j2/Dexter Season 1, 2, 3, 4, 5 & 6 + Extras (Early Cuts, Audiobooks etc) DVDRip HDTV TSV/Season 3/Dexter Season 3 Episode 04 - All in the Family.avi"
echo similar_text($queue[0], $videos[0]);
возвращает 167
.
Я поместил строки в число символов JavaScript, я использовал strlen(), trim() для обрезания пробелов, даже вручную подсчитывал каждый символ в отдельности. Что происходит?