在PHP循环中更改关键等于某事的关联数组值

时间:2013-04-29 14:16:40

标签: php arrays associative-array

我遇到的情况是我在MYSQL中循环遍历数据库的结果集:

$result = mysql_query("SELECT * FROM orders ORDER BY repID") or die('Query failed!');
while(false !== ($row = mysql_fetch_assoc($result))) {

    if(!$flag) {
       // display field/column names as first row
       fputcsv($out, array_keys($row), ',', '"');
       $flag = true;
    }

    array_walk($row, 'cleanData');

    fputcsv($out, array_values($row), ',', '"');
}

因此,这会将数组键打印为第一行的列标题。

在某些行中,我的ID直接来自表,因此我需要使用函数替换特定行中的值,以将给定的ID用作数据库查询中的搜索参数。

我似乎无法找到一种方法来改变循环中特定列的数组值...任何想法?

1 个答案:

答案 0 :(得分:1)

您可以使用带有foreach循环的&符号修饰符,如下所示。

$nameArray = array('test1', 'test2', 'test1');    

foreach ($nameArray as &$value) 
    {
        if ($value === "test1") 
        {
            $value = 'test2';
        }
    }