У меня есть метод, в котором я хочу, чтобы синтаксический анализ входных данных из SQL-строку в объект:Попытка перебирать массив объектов PHP
function buildPictureArray($sqlRow) {
$pics = [];
foreach($sqlRow as $value) {
extract($value); // How to do this more elegant?
$newObj = new PICObject($id, $filename, $thumb . $filename, $full . $filename, $title, $subtitle); // These are column names I got from extract
$pics[] = $newObj;
}
return $pics;
}
Мой PICObject выглядит следующим образом:
Class PICObject {
public $id;
public $fileName;
public $thumbLink;
public $fullLink;
public $title;
public $subTitle;
function __construct($id, $fileName, $thumbLink, $fullLink, $title, $subTitle) {
$this->$id = $id;
$this->$fileName = $fileName;
$this->$thumbLink = $thumbLink;
$this->$fullLink = $fullLink;
$this->$title = $title;
$this->$subTitle = $subTitle;
}
}
Теперь в идеале я хочу итерацию это $ Pics массив, который должен теперь содержать несколько PICObjects и быть в состоянии получить доступ к его полям:
foreach($pics as $picObj) {
echo $picObj->$fileName;
}
Howe ver, это не работает. Итак, как это сделать? (Я пробовал несколько способов, но ничего действительно сделал то, что я искал)
проверки йа синтаксис. '$ this-> id' not' $ this -> $ id', 'echo $ picObj-> fileName;' not 'echo $ picObj -> $ fileName;' – check