Untitled
unknown
plain_text
3 years ago
2.0 kB
10
Indexable
<?php
class Reader
{
    protected $data;
    function read($dir)
    {
        //$this dir to array
    }
    function getData()
    {
        return $this->data;
    }
    function exportToArray()
    {
        $data=[];
        foreach ($this->data as $key => $value) {
       
            array_push($data, ((array)$value));
        }
        return $data;
    }
    function exportToTable()
    {
        $string = '<table>';
        foreach ($this->data as $key => $value) {
            $string .= "<tr>";
            foreach ($value as $k => $v) {
                $string .= "<td>$v</td>";
            }
            $string .= "</tr>";
        }
        $string .= '</table>';
        return $string;
    }
    function addRow($data)
    {
        $this->data[] = $data;
    }
    function removeRow(int $number)
    {
        unset($this->data[$number - 1]);
        return $this;
    }
    function special(int $row, string $option)
    {
        $data = $this->data[$row]; //cpy
        switch ($option) {
            case 'sort': {
                    sort($data);
                    $this->data[$row] = $data;
                    break;
                }
            case 'capitalize': {
                    foreach ($data as $key => $value)
                        $data[$key] = strtoupper($value);
                    $this->data[$row] = $data;
                    break;
                }
        }
        return $this;
    }
}
class JsonReader extends Reader
{
    function read($dir)
    {
        if (file_exists($dir)) {
            $this->data = json_decode(file_get_contents($dir));
        } else {
            $this->data = json_decode("$dir");
        }
        return $this;
    }
}
class CsvReader extends Reader
{
}
$json = new JsonReader();
$json->read(json_encode([['name' => 'younes', 'family' => 'mokhtari'], ['name' => 'younes', 'family' => 'mokhtari']]));
// var_dump($json->getData());
var_dump($json->exportToTable());Editor is loading...