我有一个万的数组,数组内容形式为
arr[0]='name=hello';
arr[1]='nick=luck';
arr[2]='love=sky';
arr[3]='team=1000';
等等……
arr[10000]='user=haha';
随便举得例子,然后我想生成一个$obj = new stdClass();
使得:
$obj->name = 'hello';
$obj->nick = 'luck';
$obj->love = 'sky';
$obj->team = '1000';
等等……
$obj->user = 'haha';求一个运行效率最快的方法,实现的话我用explode来着,不过感觉效率不好。所以求大家帮忙给的效率高的算法。
arr[0]='name=hello';
arr[1]='nick=luck';
arr[2]='love=sky';
arr[3]='team=1000';
等等……
arr[10000]='user=haha';
随便举得例子,然后我想生成一个$obj = new stdClass();
使得:
$obj->name = 'hello';
$obj->nick = 'luck';
$obj->love = 'sky';
$obj->team = '1000';
等等……
$obj->user = 'haha';求一个运行效率最快的方法,实现的话我用explode来着,不过感觉效率不好。所以求大家帮忙给的效率高的算法。
$arr[0]='name=hello';
$arr[1]='nick=luck';
$arr[2]='love=sky';
$arr[3]='team=1000';
parse_str(implode('&',$arr),$out);
$out = (object)$out;
print_r($out);
$arr[0]='name=hello';
$arr[1]='nick=luck';
//……
$arr[2]='love=sky';
$arr[3]='team=1000';
parse_str(join('&', $arr), $tmp);
$obj = (object)$tmp;
print_r($obj);
/**
stdClass Object
(
[name] => hello
[nick] => luck
[love] => sky
[team] => 1000
)
/**/
$arr[1]='nick=luck';
$arr[2]='love=sky';
$arr[3]='team=1000';parse_str(join('&', $arr), $p);
settype($p, 'object');print_r($p);stdClass Object
(
[name] => hello
[nick] => luck
[love] => sky
[team] => 1000
)
php执行很慢的,每个变量都要查哈希表,parse_str等内置函数是native code,效率高一些。