PHP - Установить массив в __construct

0

Я создаю класс загрузки, и я хотел бы знать, правильно ли это. Например

private $fieldname; //setting name in form
    private $type = array(); //type files: text/plain','application/msword','application/pdf
    private $folder; //folder where save my files
    private $filename; //filename :)

    public function __construct($fieldname,$type,$folder,$filename){
        $this->fieldname = $fieldname;
        $this->type[] = $type;
        $this->folder = $folder;
        $this->filename = $filename;        
    }

Когда я экземпляр объекта

$upload = new UploadClass('file',['pdf','photo'],'folder','filename');

Результат не радует меня

object(UploadClass)[1]
  private 'fieldname' => string 'file' (length=4)
  private 'type' => 
    array (size=1)
      0 => 
        array (size=2)
          0 => string 'pdf' (length=3)
          1 => string 'photo' (length=5)
  private 'folder' => string 'folder' (length=6)
  private 'filename' => string 'filename' (length=8)

Я думаю, что проблема с двумя массивами не крутая.. Не знаю.. Может быть, вы помогаете мне, это становится лучше.. Извините за код! HAHA

  • 0
    Так какой у тебя вопрос сейчас? Как создать одномерный массив?
  • 2
    Просто $this->type = $type; ..!?
Показать ещё 1 комментарий
Теги:
arrays
file-upload
oop

1 ответ

2
Лучший ответ

Поскольку UploadClass::type объявляется как массив, и вы добавляете к нему элемент с помощью $this->type[] = $type; вы видите этот результат (т.е. вложенный массив). В основном вы добавляете этот массив к первому элементу типа UploadClass::type.

Просто присвойте этот массив UploadClass::type и вы все настроены:

$this->type = $type;
  • 0
    ооо .. спасибо: S

Ещё вопросы

Сообщество Overcoder
Наверх
Меню