generate_deserialize_field(out, &felem);
- indent(out) <<
- "$" << prefix << "[$" << elem << "] = true;" << endl;
+ indent(out) << "if (is_scalar($" << elem << ")) {" << endl;
+ indent(out) << " $" << prefix << "[$" << elem << "] = true;" << endl;
+ indent(out) << "} else {" << endl;
+ indent(out) << " $" << prefix << " []= $" << elem << ";" << endl;
+ indent(out) << "}" << endl;
}
void t_php_generator::generate_deserialize_list_element(ofstream &out,
} else if (ttype->is_set()) {
string iter = tmp("iter");
indent(out) <<
- "foreach ($" << prefix << " as $" << iter << " => $true)" << endl;
+ "foreach ($" << prefix << " as $" << iter << ")" << endl;
scope_up(out);
+ indent(out) << "if (is_scalar($" << iter << ")) {" << endl <<
+ indent() << " $" << prefix << "[$" << iter << "] = true;" << endl <<
+ indent() << "}" << endl;
generate_serialize_set_element(out, (t_set*)ttype, iter);
scope_down(out);
} else if (ttype->is_list()) {