如何从此数组中删除当前所选语言:
$lang = 'en-US';
$languages = array('LANG001' => 'en-US', 'LANG002' => 'es-ES', 'LANG003' => 'fr-CA');
我尝试使用unset($languages[$lang])
但没有成功。
感谢。
答案 0 :(得分:2)
尝试:
unset($languages[array_search($lang,$languages,true)]);
答案 1 :(得分:1)
1)数组表达式中的索引必须是键,而不是值。如果要按值删除元素,则必须先找到其键。
$key = array_search($lang, $languages);
if ($key) {
unset($languages[$key]);
}
但是,这只会删除数组中第一次出现的值。如果该值可以多次出现并且您想要删除所有值,则可以执行以下操作:
$languages = array_diff($languages, array($lang));
答案 2 :(得分:0)
为什么要在循环中回显特定值?
您可以根据模式或简单地使用循环来回显值。
要访问循环内部的变量,您的操作方式与脚本中的其他位置相同, 检查变量是否存在然后回显那个特定的var。
只需使用
(isset($languages['LANG001']) ? echo $languages['LANG001'] : null);
(isset($languages['LANG002']) ? echo $languages['LANG002'] : null);