Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/233.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在PHP循环中更改键等于某物的assoc数组值_Php_Arrays_Associative Array - Fatal编程技术网

在PHP循环中更改键等于某物的assoc数组值

在PHP循环中更改键等于某物的assoc数组值,php,arrays,associative-array,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

我遇到了这样一种情况:我在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,因此我需要用函数替换特定行中的值,以便在DB查询中将给定ID用作搜索参数


我似乎找不到一种方法来更改循环中特定列的数组值。。。有什么想法吗

您可以在foreach循环中使用符号和修饰符,如下所示

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

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

$row['ID']='new value'
?您应该能够使用
数组_walk
进行此操作……方法定义是什么样的?您是通过值还是通过引用传递
$row
?对不起@marc b是对的,我只是太傻了。对重命名密钥感到困惑。显然,更改值很容易。谢谢各位