3v4l.org

run code in 300+ PHP versions simultaneously
<?php function guessObjectMethod($object, string $fieldName, string $prefix): ?string { if (\is_callable([$object, $method = $prefix.\str_replace(' ', '', \ucwords(\str_replace('_', ' ', $fieldName)))])) { return $method; } return null; } class Data { public function isValid() : bool { return true; } } $data = new Data(); var_dump(guessObjectMethod($data, 'valid', 'get')); var_dump(guessObjectMethod($data, 'isValid', 'get')); var_dump(guessObjectMethod($data, 'valid', 'is')); var_dump(guessObjectMethod($data, 'isValid', 'is')); // if my property is called `isValid` it won't work!

preferences:
25.18 ms | 407 KiB | 5 Q