3

私はこれに多くの問題を抱えていますが、今ではその理由がわかりました。

1 つ以上の値で構成される動的配列があります。

[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);
    }

これを行う正しい方法は何ですか?

ありがとう

4

1 に答える 1

5

爆発と内破のすべてが実際に必要なわけではありません。また、新しいアレイを作成する必要もありません。参照によって値を循環し、ワンライナーで変更できます。

$array = array( "blurb", "news", "diblo-3" );

$array = str_replace( "-", " ", $array );

どの出力:

Array
(
  [0] => blurb
  [1] => news
  [2] => diblo 3
)

デモ: http://codepad.org/up0VoZ21

于 2012-05-16T18:10:47.773 に答える