我有这个数组:
Array
(
[0] => Array
(
[0] => Windows#XP
[1] => 3620
)
[1] => Array
(
[0] => Windows#Vista
[1] => 1901
)
[2] => Array
(
[0] => Windows#7
[1] => 88175
)
等等......我想用#
替换空格,这是我的代码,它似乎无法正常工作:
$tab_os = str_replace('#',' ',$tab_os);
任何解决方案?
谢谢!
答案 0 :(得分:1)
$tab_os = array(
array('Windows#XP', 3620),
array('Windows#Vista', 1901),
array('Windows#7', 88175),
);
foreach ($tab_os as $os_k => $os_v){
$tab_os[$os_k] = str_replace('#', ' ', $os_v);
}
print_r($tab_os);
你需要循环它
答案 1 :(得分:1)
因为循环过于主流(也因为它更快一点),您可以使用array_map():
function replaceValue($value) {
return str_replace('#', ' ', $value[0]);
}
array_map('replaceValue', $tab_os);
答案 2 :(得分:1)
你可以试试这个
foreach ($tab_os as $key => $value){
$tab_os[$key] = str_replace('#',' ',$value);
}
但实际上,str_replace接受并返回数组,所以这不应该是问题。见docs
我已尝试并测试过此代码,请在此处尝试:http://codepad.org/Ok1fZ16O
$tab_os = array( array( "Windows#XP", 1 ), array( "Windows#7", 1 ) );
foreach ($tab_os as $key => $value) {
$tab_os[$key] = str_replace('#', ' ', $value);
}
var_dump($tab_os);