【问题标题】:PHP Dynamic Variable Names in Between Words单词之间的 PHP 动态变量名称
【发布时间】:2018-05-15 01:36:30
【问题描述】:

我必须处理一个设计糟糕的数据库。为了有更小的代码足迹,我需要在 PHP 中使用动态变量命名。但是,每个变量的名称差异很大。这是我的代码示例:

<?php

    $test = (object)[
        'variable_1_text'   => 'ONE',
        'variablevv_1_another_one'   => 'Two',
        'variablett_1_blah'   => 'III',
        'variablex_1_text_lala'   => 'Four',
        'variable_2_text'   => 'ONE',
        'variablevv_2_another_one'   => 'Two',
        'variablett_2_blah'   => 'III',
        'variablex_2_text_lala'   => 'Four',
        'variable_3_text'   => 'ONE',
        'variablevv_3_another_one'   => 'Two',
        'variablett_3_blah'   => 'III',
        'variablex_3_text_lala'   => 'Four',
        'variable_4_text'   => 'ONE',
        'variablevv_4_another_one'   => 'Two',
        'variablett_4_blah'   => 'III',
        'variablex_4_text_lala'   => 'Four',
    ];

    //this doesn't work
    foreach (array(1,2,3,4) as $temp_val) {
        echo $test->variable_{$temp_val}_text . "<br />";
        echo $test->variablevv_{$temp_val}_another_one . "<br />";
        echo $test->variablett_{$temp_val}_blah . "<br />";
        echo $test->variablex_{$temp_val}_text_lala . "<br />";
    }

?>

这些变量很多。我只需要如何在变量名的名称之间动态地制作那些 1、2、3 和 4。这甚至可能吗?

【问题讨论】:

  • 使用花括号访问此类对象属性
  • 我不确定你的意思。我尝试在上面的示例代码中使用花括号,但这不起作用。也许我做错了?

标签: php dynamic dynamic-variables


【解决方案1】:

你可以试试这个: $test-&gt;{'variable_'.$temp_val.'_text'};

【讨论】:

  • 嗨 FoxVSky,但这会让我更改所有变量名称。就像单词'variable_'和'_text'因所有变量而异。我只需要动态串联现有变量名中的1、2、3、4即可。
猜你喜欢
  • 1970-01-01
  • 2015-03-01
  • 1970-01-01
  • 1970-01-01
  • 2014-09-17
  • 1970-01-01
  • 1970-01-01
  • 2012-10-28
  • 2022-11-24
相关资源
最近更新 更多