fork download
  1. <?php
  2. class Class1 { static function addMethod() { echo "Class1::add() called!\n"; } }
  3. class Class2 { static function readMethod() { echo "Class2::read() called\n"; } }
  4.  
  5. $arr=array(
  6. "add" => [Class1::class, "addMethod"],
  7. "read"=> [Class2::class, "readMethod"],
  8. );
  9.  
  10. $keys = ["add", "non-existing", "read"];
  11.  
  12. foreach($keys as $key) {
  13. if(array_key_exists($key, $arr)) {
  14. call_user_func($arr[$key]);
  15. } else {
  16. echo "default, nothing called\n";
  17. }
  18. }
Success #stdin #stdout 0.02s 24464KB
stdin
Standard input is empty
stdout
Class1::add() called!
default, nothing called
Class2::read() called