Не знаю как вынести переменные в поля класса. Почему у меня не получается это сделать?
<?php declare(strict_types=1);
class App
{
public $arrFill;
function main()
{
$arrFill = function ($json) {
return array_map (fn($item) =>
new class ($item) {
public int $width;
public int $height;
function __construct($item) {
$this->width =$item[0];
$this->height =$item[1];
}
public function square() {
return ($this->width * $this->height);
}
}, $json);
};
$arrFilter = function ($obj) {
return array_filter($obj, fn($v) => ($v->square() >= 4));
};
$arrShow = function ($obj) {
return array_map (fn($item) =>
new class ($item) {
function __construct($item) {
echo " widht -- ".$item->width." ";
echo " height -- ".$item->height."\n";
echo " apply function -- ".$item->square()."\n";
}
}, $obj);
};
echo "MULTIPLE::\n";
$arrShow($arrFill(json_decode('[[1,2], [3,4], [5,6]]')));
echo "FILTER * > 4::\n";
$arrShow($arrFilter($arrFill(json_decode('[[1,2], [3,4], [5,6]]'))));
}
};
$obj = new App();
$obj->main();
?>