duanqianwei2485 2013-02-13 19:41
浏览 34
已采纳

如何将元素推入名称包含在变量中的数组?

I'm making a generic php class which autoloads values into an object from a Database

To set properties I use this:

$object->$propertyName = $valueFromDB; where the value of propertyName is comes from the mysql field name..

Now I want to push something onto an array in a similar fashion:

This works..

$object->$arryName = array();

But this doesn't..

$object->$arryName[] = "test";

How can I work around this?

  • 写回答

1条回答 默认 最新

  • doubiantiao4994 2013-02-13 19:47
    关注
    $object->{$arryName}[] = "test"
    

    The curly braces change the order of operations and will make PHP evaluate the variable name before the hard braces.

    If you want to do a associative array, this gets a little more complicated:

    $object->{$arryName}[$keyname] = "test"
    

    In this case, you can put curly braces around $keyname but it's entirely optional.

    On a related note.. variable variables are usually - but not always - a sign of something screwy. They're also a pain to whoever is coming after you who has to debug, refactor, do any grepping, etc. If you must use them, fine but make sure you've considered the ramifications.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 基于卷积神经网络的声纹识别
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
  • ¥15 CSAPPattacklab
  • ¥15 一直显示正在等待HID—ISP
  • ¥15 Python turtle 画图
  • ¥15 stm32开发clion时遇到的编译问题