【发布时间】:2015-04-22 23:32:36
【问题描述】:
我写了一个多语言的 wordpress 主页。我需要将所有语言加载到数组中,然后检测用户语言,然后根据用户语言从数组中删除其他语言。
我想对数组进行部分检查以查看“标题”是否包含 _DE 或 _ES,然后根据结果从数组中删除一个或另一个。
目前为止
数据
array(2) {
[1]=> array(3) { ["order"]=> string(1) "1" ["title"]=> string(9) "Slider_ES" ["id"]=> string(3) "500" }
[2]=> array(3) { ["order"]=> string(1) "2" ["title"]=> string(11) "Slider_DE" ["id"]=> string(3) "493" }
}
逻辑
$current_language = get_locale(); // Wordpress function which returns either es_ES or de_DE codes
if ($current_language == es-ES) {
foreach ($array as $key => $item) {
if ($item['title'] === '_DE') {
unset($array[$key]);
}
}
} else {
foreach ($array as $key => $item) {
if ($item['title'] === '_ES') {
unset($array[$key]);
}
}
}
我错过了什么?
【问题讨论】:
-
substr($item['title'], -3) === '_ES' -
@RuslanasBalčiūnas 这不会检查整个字符串是否包含子字符串,只需从字符串中剪切最后 3 个字符,然后进行比较...
-
这不是你的数据模式吗?你可以使用
strstr、strpos甚至preg_match
标签: php wordpress multidimensional-array