1 file changed +21
-1
lines changed Original file line number Diff line number Diff line change @@ -406,14 +406,34 @@ public static function mb_encoding_aliases($encoding)
406
406
407
407
public static function mb_check_encoding ($ var = null , $ encoding = null )
408
408
{
409
+ if (PHP_VERSION_ID < 70200 && \is_array ($ var )) {
410
+ trigger_error ('mb_check_encoding() expects parameter 1 to be string, array given ' , \E_USER_WARNING );
411
+
412
+ return null ;
413
+ }
414
+
409
415
if (null === $ encoding ) {
410
416
if (null === $ var ) {
411
417
return false ;
412
418
}
413
419
$ encoding = self ::$ internalEncoding ;
414
420
}
415
421
416
- return self ::mb_detect_encoding ($ var , [$ encoding ]) || false !== @iconv ($ encoding , $ encoding , $ var );
422
+ if (!\is_array ($ var )) {
423
+ return self ::mb_detect_encoding ($ var , [$ encoding ]) || false !== @iconv ($ encoding , $ encoding , $ var );
424
+ }
425
+
426
+ foreach ($ var as $ key => $ value ) {
427
+ if (!self ::mb_check_encoding ($ key , $ encoding )) {
428
+ return false ;
429
+ }
430
+ if (!self ::mb_check_encoding ($ value , $ encoding )) {
431
+ return false ;
432
+ }
433
+ }
434
+
435
+ return true ;
436
+
417
437
}
418
438
419
439
public static function mb_detect_encoding ($ str , $ encodingList = null , $ strict = false )
0 commit comments