php - 使用返回的行作为 php 变量名称,并从 CSV 分配值

标签 php mysql loops csv multiple-columns

我有一个 mysql SELECT 查询,它返回以下内容:

$getDbVars = "SELECT `var_code` FROM `campaign_variables`";

$name
$videoURL
$leadLogo
$brand
$competitor

我还有一个 CSV,其列与上面相同。当然,CSV 每列包含数百行。

andres,http://somewhere.com/vid1.mp4,http://somewhere.com/logo1.png,brand1,andres-competitor
allan,http://somewhere.com/vid5.mp4,http://somewhere.com/logo5.png,brand5,allan-competitor
alexander,http://somewhere.com/vid7.mp4,http://somewhere.com/logo7.png,alexander-competitor

首先,我需要使用 sql 查询返回的任何内容作为变量名称。

然后,我需要能够循环遍历 CSV,并且每次都为这些变量赋值。例如,在循环的第一次扫描中:

$name = 'andres';
$videoURL = 'http://somewhere.com/vid1.mp4';
$leadLogo = 'http://somewhere.com/logo1.png';
$brand = 'brand1';
$competitor = 'andres-competitor';

对于 CSV 的每一行,依此类推。

如果以上内容没有多大意义,请告诉我。我必须这样做的原因是因为在某些情况下同一查询将返回不同数量的行。因此,就会有不同的“变量名”。好处是 CSV 的列数始终与查询返回的行数相同。

最佳答案

我认为实现这一点的最佳方法是数组:

$keys = array("name", "videoURL", "leadLogo", "brand", "competitor");
$csv = $your_csv_as_array_data;

$data = array();
foreach($csv as $row) {
    $temp = array();
    for($i = 0; $i < count($keys); $i++) {
        $temp[$keys[$i]] = $row[$i];
    }
    $data[] = $temp;
}

这将为您提供以下数组:

array (
    [0] => array(
        "name" => "...",
        "videoURL" => "...",
        "leadLogo" => "...",
        "brand" => "...",
        "competitor" => "..."
    ),
    [1] => array(
        "name" => "...",
        "videoURL" => "...",
        "leadLogo" => "...",
        "brand" => "...",
        "competitor" => "..."
    ),
    [2] => array(
        "name" => "...",
        "videoURL" => "...",
        "leadLogo" => "...",
        "brand" => "...",
        "competitor" => "..."
    )
    .
    .
    .
)

关于php - 使用返回的行作为 php 变量名称,并从 CSV 分配值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22201055/

相关文章:

javascript - 如何使用 mysql 将额外的过滤选项添加到 Ajax PHP 搜索

PHP MySQL 搜索 3 个表中的 3 个字段

mysql工作台自动转储

c - 在C中,使用while循环来计算用户输入的字符数

PHPUnit Laravel 哈希不可用

php - 不带扩展名的文件名

php - PHP 中 MySQL 查询的当前和前一天

php - MySQL 规模问题 - 触发器/更新/监控表

r - 如何将新的计算变量添加到数据框中

PHP - 从函数中的循环值返回一个数组