php中的非法字符串偏移量(Laravel 5.1)



在lang.php文件中有以下数组。

"animal" => [
"mammel"=>[
"cat" => "Cat",
"ele" => "Elephant",
"dog" => "Dog"
] 
]


$r_animal = str_ireplace($lm, trans('lang.animal.mammel')[strtolower(substr($lm, 0, 3))], $r_animal);

在上面的行中,将错误作为非法字符串偏移量"ele"。

要访问翻译,您需要trans('lang.animal.mammel.cat')trans('lang.animal.mammel.ele')trans('lang.animal.mammel.dog')之类的内容。假设strtolower(substr($lm, 0, 3))包含"cat"、"ele"或"dog",则可以连接所需的翻译密钥,如下所示:

$translationKey = 'lang.animal.mammel.' . strtolower(substr($lm, 0, 3));
$r_animal = str_ireplace($lm, trans($translationKey), $r_animal);

最新更新