Sử dụng in_array bị "Warning: in_array() expects parameter 2 to be array, string"

$listresult=array('111.mp4','111.avi','111.mkv','111.txt','111.jpg');
$bang1=array(); // Chứa list files .mp4
$bang2=array(); // Chứa list files .wmv .avi .mkv .flv .MPEG
$bang3=array(); // Chứa list files khong thuoc 2 thang tren
for ($i = 0; $i < count($listresult); $i++) {
if (in_array("mp4",$listresult[$i]))
{
    $bang1[$i]=$listresult[$i];
     
}
else
{
   
     if ((in_array(("wmv"),$listresult[$i])
     || in_array(("avi"),$listresult[$i]
     || in_array(("mkv"),$listresult[$i]))
     || in_array(("mpeg"),$listresult[$i])))
     {
     $bang2[$i]=$listresult[$i];
     }
     else
     {
     $bang3[$i]=$listresult[$i];
     } 
}

em làm sai chỗ nào mà nó chỉ xuất bản $bang3 ra không à các bác ạ , giúp em với
nó báo lỗi : Warning: in_array() expects parameter 2 to be array, string

Bỏ cái [$i] ở mấy hàm in_array() đi. Tham số thứ 2 phải là mảng, bạn dùng [$i] nữa thì nó thành phần tử (string) của mảng mất rồi.

3 Likes

van ko dc nha ban oi

bạn thay hàm in_array bằng hàm preg_match xem thử

3 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?