object(stdClass)#25 (7) {
["store_id"]=>
string(2) "27"
["account_id"]=>
string(1) "5"
["store_date_created"]=>
string(19) "2011-01-31 02:40:38"
["options"]=>
array(2) {
[0]=>
array(2) {
["key"]=>
string(5) "state"
["value"]=>
string(2) "FL"
}
[1]=>
array(2) {
["key"]=>
string(7) "zipcode"
["value"]=>
string(5) "12343"
}
}
}
我有一个Store的对象结构,它的一个属性是一个assoc。选项数组(从数据库中提取)。可以有零到多个选项,但key
始终是唯一的。我需要一种方法来获取options
assoc。数组并把它变成这样的东西:
["options"]=>
array(1) {
["state"] => "FL",
["zipcode"] => "12343"
}
不知道我的语法对于我想要的结果是否正确但我基本上想要这样做:
echo $store_obj->options['state']
答案 0 :(得分:4)
假设选项位于$object->options
:
$newOptions = array();
array_walk($object->options, function($opt) use (&$newOptions) {
list($key, $value) = $opt;
$newOptions[$key] = $value;
});
$object->options = $newOptions //reasing filtered options to options property
注意:当使用该表单中的代码时,需要PHP 5.3。
答案 1 :(得分:3)
假设该对象名为$store_obj
。
$store = array();
foreach($store->options as $opt){
$store_obj[$opt['key']] = $opt['value'];
}
$store_obj->options = $store;
现在你应该可以echo $store_obj->options['state']
。