Одной из проблем сейчас является то, что на самом деле ваши массивы всегда будут равны, потому что определение класса Point
неверно.
Конструктор в PHP - __construct
(два подчеркивания), в отличиена то, что вы сделали: _construct
(подчеркивание).Следовательно, ваш конструктор никогда не выполняется, и $x
и $y
никогда не назначаются вашему экземпляру объекта.
Если вы исправите это:
class Point
{
var $x;
var $y;
function __construct($x_, $y_)
{
$this -> x = $x_;
$this -> y = $y_;
}
}
Тогда вы можете просто сделать:
$mas1 = array(new Point(0,1),new Point(0,1),new Point(0,1));
$mas2 = array(new Point(0,1),new Point(0,1),new Point(0,1));
$mas3 = array(new Point(0,1),new Point(0,1),new Point(0,2));
$mas4 = array(new Point(0,1),new Point(0,1),new Point(0,1),new Point(0,1));
var_dump($mas1 == $mas2); // true
var_dump($mas2 == $mas3); // false
var_dump($mas2 == $mas4); // false