php - 字符串替换数组 PHP 中的所有项目

标签 php string replace foreach str-replace

我想对数组中的所有项目进行字符串替换。我拥有的是:

$row['c1'] = str_replace("&", "&", $row['c1']);
$row['c2'] = str_replace("&", "&", $row['c2']);
$row['c3'] = str_replace("&", "&", $row['c3']);
$row['c4'] = str_replace("&", "&", $row['c4']);   
$row['c5'] = str_replace("&", "&", $row['c5']);
$row['c6'] = str_replace("&", "&", $row['c6']);
$row['c7'] = str_replace("&", "&", $row['c7']);   
$row['c8'] = str_replace("&", "&", $row['c8']);
$row['c9'] = str_replace("&", "&", $row['c9']);
$row['c10'] = str_replace("&", "&", $row['c10']); 

我怎样才能用更少的代码实现这个目标?我认为 foreach 语句会起作用,例如:

$columns = array($row['c1'], $row['c2'], $row['c3'], $row['c4'], $row['c5'], $row['c6'], $row['c7'], $row['c8'], $row['c9'], $row['c10']);

foreach ( $columns as $value){
   $value   = str_replace("&", "&", $value);
}

但它不起作用。

最佳答案

只是做:

$row = str_replace("&", "&", $row);

注意:您的 foreach 不起作用,因为您需要引用或使用键:

foreach ( $columns as &$value) { // reference
   $value  = str_replace("&", "&", $value);
}
unset($value); // break the reference with the last element

或者:

foreach ($columns as $key => $value){
   $columns[$key]  = str_replace("&", "&", $value);
}

虽然这里没有必要,因为 str_replace 接受并返回数组。

关于php - 字符串替换数组 PHP 中的所有项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5045101/

相关文章:

php - 使 if 语句了解哪个 "time-left"格式更大

javascript - 我需要将 0 或 1 存储到服务器 php 中的 .status 文件

c - typedef 字符串数组?

JavaScript/正则表达式 : Delete a specific Text (word) starting with a specific letter inside a String with words separated by spaces

php - LARAVEL 4 解决方案动态 SEO URLs 通缉

php - 通过 PHP 从 MySQL 数据库中提取不同的单一值

Java 字符串转换(例如 hello world --> Hello World)

Ruby:从字节创建一个字符串

c# - WPF:DataGrid 查找和替换

java - 如何用每边的字符和空格替换特殊字符和数字