Php 从数组中的每个值中删除破折号,然后重新生成数组
我在这方面遇到了很多麻烦,现在我知道为什么了 我有一个动态数组,它可以由1个或多个值组成:Php 从数组中的每个值中删除破折号,然后重新生成数组,php,codeigniter,Php,Codeigniter,我在这方面遇到了很多麻烦,现在我知道为什么了 我有一个动态数组,它可以由1个或多个值组成: [array] => Array ( [0] => blurb [1] => news [2] => entertainment [3] => sci [4] => diablo-3 ) 这是我的模型 public function create_session_f
[array] => Array
(
[0] => blurb
[1] => news
[2] => entertainment
[3] => sci
[4] => diablo-3
)
这是我的模型
public function create_session_filter($filters)
{
$array = split("\|", $filters);
$filter['filter'] = $array;
$this->session->unset_userdata('filter');
$this->session->set_userdata($filter);
}
运行数组$filters时,我需要从任何单个数组值中删除任何破折号,并将其替换为空格
这产生了一些古怪的结果:
public function create_session_filter($filters)
{
$filterarray = array();
$array = split("\|", $filters);
foreach ($array as $filter)
{
print_r($filter);
$filterspace = implode(' ', explode('-', $filter));
$filterarray = array_push($filterarray, $filterspace);
}
$filter['filter'] = $filterarray;
$this->session->unset_userdata('filter');
$this->session->set_userdata($filter);
}
正确的方法是什么
谢谢所有的爆炸和内爆都不是真的需要。您也不需要创建新阵列。您可以通过引用循环查看值,并在一行中修改它们:
$array = array( "blurb", "news", "diblo-3" );
$array = str_replace( "-", " ", $array );
哪些产出:
Array
(
[0] => blurb
[1] => news
[2] => diblo 3
)
演示:您可以在数组上调用
str\u replace()
,这是一个很好的建议。我不知道您可以提供一个数组作为主题,然后函数会作用于其中的每个值。非常酷。@JonathanSampson很乐意帮忙:-)