目标PHP和键值编码
在我的代码的某些部分中,我需要如下内容:目标PHP和键值编码,php,key-value-coding,Php,Key Value Coding,在我的代码的某些部分中,我需要如下内容: $product_type = $product->type; $price_field = 'field_'.$product_type.'_price'; $price = $product->$$price_field; 换句话说,我需要一种KVC-意味着在运行时按字段名获取对象字段。 我只需要扩展一些现有的系统并保持字段命名约定,所以不要建议我更改字段名 我知道这种方法适用于阵列,您可以通过以下方式轻松实现: $price = $p
$product_type = $product->type;
$price_field = 'field_'.$product_type.'_price';
$price = $product->$$price_field;
换句话说,我需要一种KVC-意味着在运行时按字段名获取对象字段。
我只需要扩展一些现有的系统并保持字段命名约定,所以不要建议我更改字段名
我知道这种方法适用于阵列,您可以通过以下方式轻松实现:
$price = $product[$price_field_key].
所以我可以动态地为数组生成密钥。
但如何对对象执行此操作?
请帮助我,因为谷歌给我的数组等河流的结果。。。
谢谢你们,对不起,伙计们。
这比我想象的要容易得多。
希望它能帮助别人。简言之:
$price_field = 'field_'.$product_type.'_price';
$price = $product->$price_field;
因此,您可以使用varialbe在Php中获取对象字段
我带着那些$$;-)去了很远的地方
关于如何使用
实际上,它的工作原理如下
$product_type = $product->type;
$price_field = "field_".$product_type"._price";
$price = $product->$price_field;
仅供参考,使用$$解析变量的内容。e、 例如,
$a='b'$b=‘键’;echo$foo->$$a
与本例中的$foo->key
相同。实际上,这更像是一个黑客;-)但我喜欢+1
$price = $product->{$price_field};
$product_type = $product->type;
$price_field = "field_".$product_type"._price";
$price = $product->$price_field;