PHP数组替换空格为加号:代码报错问题求助
问题解决:将数组元素中的空格替换为加号
你的代码存在三个明显错误:
- 替换逻辑颠倒:你需要把空格替换成加号,但代码里写的是
str_replace("+", " ", ...),参数顺序搞反了,正确顺序是「要替换的内容」在前,「替换后的内容」在后。 - 错误访问元素:
$allprofessionlist[$key]是错误写法,$allprofessionlist本身就是循环到的字符串元素,不需要再用[$key]索引。 - 变量名不匹配:最后打印的
$allprof未定义,应该用处理后的数组变量$allprofessions。
修正后的代码(foreach版本):
$allprofessions = array_filter($array_profession_from_db); foreach($allprofessions as $key => $item){ $allprofessions[$key] = str_replace(" ", "+", $item); }; print_r($allprofessions);
更简洁的写法(array_map版本):
如果不想用foreach循环,也可以用array_map直接遍历处理每个元素:
$allprofessions = array_filter($array_profession_from_db); $allprofessions = array_map(function($item){ return str_replace(" ", "+", $item); }, $allprofessions); print_r($allprofessions);
运行以上代码后,就能得到你想要的Html+css+js、web+developer、fitness+trainer格式的结果。
内容的提问来源于stack exchange,提问作者flytomoon777
相关产品推荐
相关产品推荐

