public static function fromArray(&$p) { $measurements = array(); if (isset($p['measurements'])) { foreach ($p['measurements'] as $measurement) { $measurements[] = Measurement::fromArray($measurement); } } return new Reading($p['id'], isset($p['observation_id']) ? $p['observation_id'] : null, isset($p['set_number']) ? $p['set_number'] : null, isset($p['declination_valid']) ? $p['declination_valid'] : null, isset($p['declination_shift']) ? $p['declination_shift'] : null, isset($p['horizontal_intensity_valid']) ? $p['horizontal_intensity_valid'] : null, isset($p['vertical_intensity_valid']) ? $p['vertical_intensity_valid'] : null, isset($p['startH']) ? $p['startH'] : null, isset($p['endH']) ? $p['endH'] : null, isset($p['absH']) ? $p['absH'] : null, isset($p['baseH']) ? $p['baseH'] : null, isset($p['startZ']) ? $p['startZ'] : null, isset($p['endZ']) ? $p['endZ'] : null, isset($p['absZ']) ? $p['absZ'] : null, isset($p['baseZ']) ? $p['baseZ'] : null, isset($p['startD']) ? $p['startD'] : null, isset($p['endD']) ? $p['endD'] : null, isset($p['absD']) ? $p['absD'] : null, isset($p['baseD']) ? $p['baseD'] : null, isset($p['annotation']) ? $p['annotation'] : null, $measurements); }