PHP Program to Rectangle Class with Explanation
PHP
Easy
PHP OOP Basics
35 views
1 min read
84 words
This problem helps you practice core PHP fundamentals in a practical way. It builds intuition around rectangle, class, area. Let’s break it down step by step so you can implement it confidently.
Problem Statement
Create a Rectangle class with width and height. Print area and perimeter.
Input Format
One line: w h.
Output Format
Two integers: area perimeter.
Constraints
0
Code Solution
This explanation is written for learning purposes and to help beginners understand the concept clearly.
<?php
class Rectangle{
public $w; public $h;
function __construct($w,$h){ $this->w=$w; $this->h=$h; }
function area(){ return $this->w*$this->h; }
function perim(){ return 2*($this->w+$this->h); }
}
$inputText=trim(stream_get_contents(STDIN));
if($inputText==='') exit;
[$w,$h]=array_map('intval',preg_split('/\\s+/', $inputText));
$r=new Rectangle($w,$h);
echo $r->area().' '.$r->perim();
?>
Common Mistakes
- Misreading input/output format.
- Not handling constraints and edge cases.
- Off-by-one errors in loops.
- Forgetting to reset variables between test cases (if any).
Solution Guide
Problem
Create a Rectangle class with width and height. Print area and perimeter.
Input / Output
Output
Two integers: area perimeter.
Details
Common Mistakes
- Misreading input/output format.
- Not handling constraints and edge cases.
- Off-by-one errors in loops.
- Forgetting to reset variables between test cases (if any).
Official Solution
<?php
class Rectangle{
public $w; public $h;
function __construct($w,$h){ $this->w=$w; $this->h=$h; }
function area(){ return $this->w*$this->h; }
function perim(){ return 2*($this->w+$this->h); }
}
$inputText=trim(stream_get_contents(STDIN));
if($inputText==='') exit;
[$w,$h]=array_map('intval',preg_split('/\\s+/', $inputText));
$r=new Rectangle($w,$h);
echo $r->area().' '.$r->perim();
?>
Solutions (0)
No solutions submitted yet. Be the first!