diff --git a/reference/array/functions/in-array.xml b/reference/array/functions/in-array.xml index b63b530ca..cdf27278d 100644 --- a/reference/array/functions/in-array.xml +++ b/reference/array/functions/in-array.xml @@ -1,6 +1,5 @@ - - + in_array @@ -55,14 +54,24 @@ coincide con el tipo del valor encontrado en haystack. - - Antes de PHP 8.0.0, un string needle coincidirá - con un valor de array de 0 en modo no estricto y viceversa. - Esto puede llevar a resultados no deseados. - Casos similares también existen para otros tipos. - Si no se está absolutamente seguro de los tipos de valores involucrados, - siempre se debe utilizar el flag strict para evitar cualquier comportamiento inesperado. - + + Anterior a PHP 8.0.0, un needle de tipo + string no numérico coincidía de forma laxa con un valor + 0 de haystack, y viceversa. A + partir de PHP 8.0.0, el número se convierte a string y + ambos se comparan como strings, de modo que solo sigue coincidiendo una + string numérica con el mismo valor. + + + No obstante, el modo no estricto utiliza una + comparación laxa, por lo + que valores de tipos distintos pueden seguir considerándose iguales: + &true; coincide con cualquier string evaluada como + verdadera, y &false; coincide tanto con "" como con + "0". A menos que se conozcan con certeza los tipos de + todos los valores involucrados, se debe pasar siempre + strict para forzar una comparación de identidad. +