当前位置: 首页 > 面试题库 >

在PHP中将括号与动态变量名称一起使用

卫烨烁
2023-03-14
问题内容

我正在尝试使用动态变量名称(我不确定它们的实际名称),但是非常像这样:

for($i=0; $i<=2; $i++) {
    $("file" . $i) = file($filelist[$i]);
}

var_dump($file0);

返回值null告诉我它不起作用。我不知道我在寻找什么语法或技术,这使得很难研究。$filelist在前面定义。


问题答案:

将它们包装在{}

${"file" . $i} = file($filelist[$i]);

工作实例

使用${}是创建动态变量的一种方法,简单的示例:

${'a' . 'b'} = 'hello there';
echo $ab; // hello there


 类似资料:
  • 问题内容: 在PHP中,您可以执行以下令人惊奇/可怕的事情: 有没有办法用Java做类似的事情? 例如,如果我有一个名称,可以得到对变量的引用吗? 问题答案: 由于ECMA-/ JavaScript是所有关于和(其也somekind的对象的),每个变量被存储在这样的被称为 可变 (或在功能方面,的情况下, 激活对象 )。 因此,如果您创建这样的变量: 在 全局范围 (= NO函数上下文)中,您将这

  • 问题内容: 我试图动态创建一个常量名称,然后获取该值。 但是我发现$ constant值仍然包含常量的名称,而不是VALUE。 我也尝试了第二级间接寻址,但这会使它成为变量而不是常量。 有人可以对此有所启发吗? 问题答案: http://dk.php.net/manual/en/function.constant.php

  • 问题内容: 我想使用运行时之前不知道的字段名称过滤器来调用查询…不确定如何构造变量名称…或者我很累。 如果funct()返回的名称等于 不知道该怎么做… 问题答案: 您可以创建字典,设置参数,然后通过解压缩字典作为关键字参数将其传递给函数:

  • 我想使用<code>dplyr::mutate()</code>在数据帧中创建多个新列。应动态生成列名及其内容。 来自iris的示例数据: 我创建了一个函数,可以从<code>Petal中修改我的新列。宽度变量: 现在我创建一个循环来构建我的列: 然而,由于mutate认为varname是一个文字变量名,因此循环只创建一个新变量(称为varname),而不是四个(称为petal.2-petal.5

  • 我见过这样的源代码: 我搜索了很多关于它的信息,发现它来自数组。但我不明白确切的意思。 例如, 我们可以编写如下代码吗? 我只需要知道如何声明一个变量并在方括号中给出一个值。