在已设置值时,为key =>值的数组指定新值

时间:2016-02-04 21:37:09

标签: php laravel-4

我正在使用Laravel中的翻译,我有几个数组,其翻译键映射到相应的翻译。我需要删除任何包含--的翻译,并将其替换为空字符串。我已经在同一个函数中做了一些其他str替换,所以也许我正在破坏这个函数。

以下是整个函数的样子:

public function getWithContext($locale, $context)
{
    $this->registerContext($context);

    $contextKey = "{$locale}.{$context}";

    if ($this->has($contextKey)) return $this->get($contextKey);

    $out = [];

    $data = $this->get($locale);

    foreach ($data as $key => $value) {
        if (preg_match("/^({$context}\.)/", $key)) {
            $k       = str_replace("{$context}.", "", $key); 
            $out[$k] = ($value == "—-") ? "" : $value;
        }
    }

    if (!empty($out)) {
        $this->put($contextKey, new Collection($out));
    }

    return $out;
}

我正在努力让专线$out[$k] = ($value == "--") ? "" : $value;正常工作。

2 个答案:

答案 0 :(得分:1)

不确定这是否与它有关但在您的问题中您提到了字符串/* this is for anything less than 480px */ .title{ font-size: 1em; } ... /* greater than 480px */ @media screen and (min-width: 480px){ /*change min-width to em if you prefer*/ .title{ font-size: 1.25em; } } ,但在您的代码中,字符串为"--",其中第一个破折号具有不同的字符

答案 1 :(得分:0)

我找到了解决问题的方法。通过键盘输入的破折号编码与服务器看到的编码不同。因此,我不得不将服务器中的值复制到代码中,并且它完美地工作。