<?php
error_reporting(-1);
abstract class A
{
public function foo(){
array_map( 'static::bar', array('hello', 'world'));
}
abstract public static function bar($arg);
}
class B extends A {
public static function bar($arg) {
var_dump($arg);
}
}
$b = new B;
$b->foo();
Strict Standards: Static function A::bar() should not be abstract in /in/PSj6M on line 10
string(5) "hello"
string(5) "world"
Output for 5.2.0 - 5.2.17
Strict Standards: Static function A::bar() should not be abstract in /in/PSj6M on line 10
Warning: array_map(): The first argument, 'static::bar', should be either NULL or a valid callback in /in/PSj6M on line 7
Output for 5.0.0 - 5.0.5, 5.1.0 - 5.1.6
Warning: array_map(): The first argument, 'static::bar', should be either NULL or a valid callback in /in/PSj6M on line 7
Output for 4.4.2 - 4.4.9
Parse error: syntax error, unexpected T_CLASS in /in/PSj6M on line 4
Process exited with code 255.