首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从数据库查询中检查数组中是否存在值

从数据库查询中检查数组中是否存在值
EN

Stack Overflow用户
提问于 2013-12-19 09:50:50
回答 2查看 3.1K关注 0票数 3

我正试图建立一个网站,将显示文本的多种语言。我有一张桌子上写着所有语言的“文本”。如果所选语言中不存在文本,则必须显示默认语言。

text查询SELECT *,其中TextId = 10在

代码语言:javascript
复制
Id  TextId  LanguageId  Text
10  10      1           first name
13  10      2           名前

如果我r_print这个结果,我会得到这样的结果

代码语言:javascript
复制
Array ( [0] => Array ( [0] => 10 [Id] => 10 [1] => 10 [TextId] => 10 [2] => 1 [LanguageId] => 1 [3] => first name [Text] => first name ) 
        [1] => Array ( [0] => 13 [Id] => 13 [1] => 10 [TextId] => 10 [2] => 2 [LanguageId] => 2 [3] => 名前 [Text] => 名前 ) )

如何检查这个数组中是否存在LanguageId 2?问题是,TextId 2和Id 2也可能存在于这个数组中。

这与in_array()有关吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-12-19 10:00:39

下面是一个函数,它可以检查LanguageId是否等于一个特殊值。

代码语言:javascript
复制
function isLanguageIdExists($yourArray , $LanguageId){
    $exists=false;
    foreach($yourArray as $array){
     if(isset($array['LanguageId'])&& $array['LanguageId'] == $LanguageId){
        $exists=true;break;
      }

    }
    return $exists;
}

$exist = isLanguageIdExists($yourArray , 2);//return true or false
票数 2
EN

Stack Overflow用户

发布于 2013-12-24 10:46:14

在考虑了这一点之后,我想出了一个可能不那么优雅的解决方案。我没有返回一个数组,而是修改了SQL查询,将一行返回给默认语言(英语)和用户选择的语言(日语)。它使用两个左联接。这表明我接受了SQL方面的(一些)培训,但实际上对多维数组并不满意。

查询def_text =默认语言中的文本usr_text =用户选择语言中的文本

代码语言:javascript
复制
    $table01 = "text";
    $query="SELECT $table01.TextId, 
            text_def.Text as def_text,
            text_usr.Text as usr_text
            FROM $table01 
            LEFT JOIN $table01 as text_def ON $table01.TextId = text_def.TextId AND text_def.LanguageId = $_SESSION[default_language]
            LEFT JOIN $table01 as text_usr ON $table01.TextId = text_usr.TextId AND text_usr.LanguageId = $_SESSION[language]
            WHERE $table01.TextId=$mess;";

返回结果后,可以很容易地使用isset()或空()检查文本是否可用用户选择的语言

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20678276

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档