// mapping struct to eth-address pragma solidity ^0.4.18; contract SimpleStore { uint[] private a_age; string[] private a_name; string[] private a_role; struct User { uint age; string name; string role; } mapping (address => User) userz; address[] private userlist; function setUser(address _address, uint _age, string _name, string _role) public { var user = userz[_address]; user.age = _age; user.name = _name; user.role = _role; userlist.push(_address); a_age.push(_age); a_name.push(_name); a_role.push(_role); } function getUserlist() view public returns(address[]) { return userlist; } function get_user_info(uint _n) public view returns(address _address_, uint _age_, string _name_, string _role_) { _address_ = userlist[_n]; _age_ = a_age[_n]; _name_ = a_name[_n]; _role_ = a_role[_n]; } function get_info_by_address(address _add_) public view returns(address __address, uint __age, string __name, string __role){ var __user = userz[_add_]; __address = _add_; __age = __user.age; __name = __user.name; __role = __user.role; } }
0.4.18