<?php
class Math {
const pi = 3.14;
}
class CircleMath extends Math {
public static function calculateArea($radius) {
return parent::pi * pow($radius, 2);
}
}
class Circle {
private $radius = 1.0;
private $color = 'white';
private $coordinates = array('x' => 0, 'y' => 0);
public function __construct() {
$args = func_get_args();
foreach ($args as $arg) {
if (is_numeric($arg)) {
$this->radius = doubleval($arg);
} else if (is_string($arg)) {
$this->color = $arg;
} else if (is_array()) {
$this->coordinates = $arg;
}
}
}
public function calculateArea() {
return CircleMath::calculateArea($this->radius);
}
public function get_radius() {
return $this->radius;
}
public function get_color() {
return $this->color;
}
public function get_coordinates() {
return $this->coordinates;
}
}
$className = 'Circle';
$circle = new $className(array('x' => 5, 'y' => 6));
print sprintf('The area of %s circle with radius %s and center positioned in (%s, %s) is: %s',
$circle->get_color(), $circle->get_radius(), $circle->get_coordinates()['x'],
$circle->get_coordinates()['y'], $circle->calculateArea());
?>
Fatal error: Uncaught ArgumentCountError: is_array() expects exactly 1 argument, 0 given in /in/kMJBe:26
Stack trace:
#0 /in/kMJBe(26): is_array()
#1 /in/kMJBe(51): Circle->__construct(Array)
#2 {main}
thrown in /in/kMJBe on line 26
Process exited with code 255.
Warning: is_array() expects exactly 1 parameter, 0 given in /in/kMJBe on line 26
The area of white circle with radius 1 and center positioned in (0, 0) is: 3.14
Parse error: syntax error, unexpected '[' in /in/kMJBe on line 54
Process exited with code 255.
Output for 5.0.0 - 5.0.5
Parse error: parse error, unexpected '[' in /in/kMJBe on line 54
Process exited with code 255.
Output for 4.4.2 - 4.4.9
Parse error: syntax error, unexpected T_CONST, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /in/kMJBe on line 3
Process exited with code 255.
Parse error: parse error, unexpected T_CONST, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /in/kMJBe on line 3
Process exited with code 255.
Output for 4.3.2 - 4.3.4
Parse error: parse error, expecting `T_OLD_FUNCTION' or `T_FUNCTION' or `T_VAR' or `'}'' in /in/kMJBe on line 3
Process exited with code 255.