首页 > 解决方案 > 从数据库传递的动态变量

问题描述

我们正在生成与 mysql 行输出直接链接的 php 变量名。这里是

现在我们有了动态变量,我们正在对图像进行 base64 编码

     ${'attachment_base64'.$row['id']} = base64_encode(file_get_contents($some_url));

现在我们想在while循环中传递这个动态生成的变量

     $image_part .= 'array(
              "name" => "'.$name.'",
              "data" => "$attachment_base64"
        ),';

但我们无法在数据中传递动态名称。

这部分应该是这样的

       "data" => "$attachment_base641556588"

其中 1556588 是来自数据库的动态 ID。

我们不能使用'.$row['id']。' 因为它只会将数据附加到 base64 编码数据中,所以我们希望动态变量名称在此处传递

想要在我的数组数据部分中传递动态名称,否则当我在循环后使用此数据时,在数据部分中传递了相同的图像

从 while 循环数据生成这种类型的数组

     array(
              "name" => "ggggf",
              "data" => "$attachment_base64",
        ),
        array(
              "name" => "6800164880433",
              "data" => "$attachment_base64",
        ),

标签: php

解决方案


$row['id']在变量名前缀之后连接。

     $image_part .= 'array(
              "name" => "'.$name.'",
              "data" => "$attachment_base64'.$row['id'].'"
        ),';

但我强烈建议您将动态变量名称更改为关联数组。


推荐阅读