在PHP循环中更改键等于某物的assoc数组值
我遇到了这样一种情况:我在MYSQL中循环通过数据库中的一个结果集:在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
$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是对的,我只是太傻了。对重命名密钥感到困惑。显然,更改值很容易。谢谢各位