【发布时间】:2021-05-31 23:38:33
【问题描述】:
假设我有一个像这样的关联数组:
PHP
$array = array(
'Corfù' => 'pita gyros',
'San Gennaro' => 'pizza',
'Perù' => 'tortillias'
);
我怎样才能像这样通过 php 中的净化键访问这个数组的值? (可能没有循环)
PHP
echo $array['corfu'];
// pita gyros
echo $array['san-gennaro'];
// pizza
而不是这个
PHP
echo $array['Corfù'];
// pita gyros
这是因为我从相关页面的 url 中获取密钥,显然缺少重音和空格
【问题讨论】:
-
如果没有循环或隐式循环,您将无法执行此操作。使用循环相对容易。
-
为什么你的数组键是这样开始的?您是否打算在某个时候将它们用于前端的最终用户的输出?如果不是,那可能更有意义,因为您使用的键实际上与您从外部传递的值相匹配。
-
@CBroe 是的,我需要将密钥从后端传递到前端,这是为了填充页面的标题和一些表格,所以我需要呈现正确的单词。也许我可以使用 corfu 之类的键,并在里面添加一个附加值,例如 "render" => "Corfù",但我认为这有点烦人。
-
“但我认为这有点烦人” - 不,这才是你应该这样做的方式。将实际的逻辑与你需要的东西分开来显示。否则,当前端需要显示的内容在某些时候发生变化时,或者当您可能想要添加第二种语言时,您将遇到更大的麻烦。
标签: php arrays sanitization associative