From a3d1ad9b14b5716fe50f23e68fccb7118b29d220 Mon Sep 17 00:00:00 2001 From: Kacper Kwapisz Date: Thu, 23 Apr 2015 09:41:20 +0200 Subject: [PATCH 1/2] isValidKey using toArray() directly Now it doesn't need to use toArray()->array_keys->in_array, but just toArray() and isset[$key], which should be faster. --- src/Enum.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Enum.php b/src/Enum.php index ce0dd80..ab310a9 100755 --- a/src/Enum.php +++ b/src/Enum.php @@ -119,7 +119,7 @@ public static function isValid($value) */ public static function isValidKey($key) { - return in_array($key, self::keys(), true); + return isset(self::toArray()[$key]); } /** From 627085efe7e82c4eb8aca10973057ce635c7ecf7 Mon Sep 17 00:00:00 2001 From: Kacper Kwapisz Date: Thu, 23 Apr 2015 10:58:48 +0200 Subject: [PATCH 2/2] isValidKey() fix for PHP < 5.4 PHP < 5.4: "Fatal error: Can't use function return value in write context in (...)" --- src/Enum.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/Enum.php b/src/Enum.php index ab310a9..deac0ed 100755 --- a/src/Enum.php +++ b/src/Enum.php @@ -119,7 +119,8 @@ public static function isValid($value) */ public static function isValidKey($key) { - return isset(self::toArray()[$key]); + $array = self::toArray(); + return isset($array[$key]); } /**