0

我一直在研究网站的一些旧部分,发现自己处于必须运行以下代码的情况

<?=($stone->2_way)? 'checked' : ''?>

尝试这样做会导致页面崩溃,而这

<?=($stone->rectangular)? 'checked' : ''?>

没有。我想知道是不是因为变量以数字开头?我可以 var_dump 石头对象并得到

object(Cut_Stone)#54 (6) {
  ["errors"]=>
  NULL
  ["attributes":"ActiveRecord\Model":private]=>
  array(13) {
    ["stone_id"]=>
    int(24)
    ["stone_name"]=>
    string(11) "Test Stone "
    ["active"]=>
    int(1)
    ["rectangular"]=>
    int(1)
    ["2_way"]=>
    int(1)
    ["3_piece_radius"]=>
    int(1)
    ["3_piece_straight"]=>
    int(1)
    ["wedge"]=>
    int(1)
    ["partial_wash"]=>
    int(1)
    ["pier_cap"]=>
    int(1)
    ["pier_cap_w_flat"]=>
    int(1)
    ["radiused_hearth"]=>
    int(1)
    ["total_washed"]=>
    int(1)
  }
  ["__dirty":"ActiveRecord\Model":private]=>
  array(0) {
  }
  ["__readonly":"ActiveRecord\Model":private]=>
  bool(false)
  ["__relationships":"ActiveRecord\Model":private]=>
  array(0) {
  }
  ["__new_record":"ActiveRecord\Model":private]=>
  bool(false)
}

同样重要的是要注意这个对象已经在其他地方使用过,所以我真的不明白这里发生了什么。

4

1 回答 1

4

尝试在属性名称周围使用方括号和引号:

<?=($stone->{'2_way'})? 'checked' : ''?>
于 2013-08-14T18:15:26.223 回答