remove dashes from each value in an array, then rebuild array
codeigniter, php
Solution
All of the exploding and imploding isn't really necessary. Nor would you need to create a new array. You can cycle through your values by reference, and modify them in a one-liner:
$array = array( "blurb", "news", "diblo-3" );
$array = str_replace( "-", " ", $array );
Which outputs:
Array
(
[0] => blurb
[1] => news
[2] => diblo 3
)
Demo: http://codepad.org/up0VoZ21
Problem
Im having a lot of trouble with this, and I'm now sure why. I have a dynamic array, that can consist of 1 or more values: ``` [array] => Array ( [0] => blurb [1] => news [2] => entertainment [3] => sci [4] => diablo-3 ) ``` Here is my model ``` public function create_session_filter($filters) { $array = split("\|", $filters); $filter['filter'] = $array; $this->session->unset_userdata('filter'); $this->session->set_userdata($filter); } ``` When the array $filters is run, i need to remove any dashes from any of the individual array values and replace them with spaces. This is producing some funky results: ``` 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); } ``` What is the correct way to do this? Thanks