【问题标题】:How do i search an array in php and return true if it finds one of my variable?如果找到我的变量之一,我如何在 php 中搜索数组并返回 true?
【发布时间】:2015-05-10 14:23:22
【问题描述】:
if (array_search($soca, $user_socs))

我知道这将通过输入一个变量和一个数组来搜索数组,但我想知道是否可以让它返回 true,因为它不返回 true,所以我的 if 语句没有被执行。

参考文献

【问题讨论】:

  • 举个例子,你尝试了什么,你需要什么?
  • 再详细一点就好了。您正在使用的数组的示例以及您正在寻找的值会很有用。
  • 只需在您的条件下使用布尔值!== falseif 块是 true,否则找不到。请注意,索引零是有效的,所以不要松散地比较。这已经包含在手册php.net/manual/en/function.array-search.php 中(见警告)
  • 所以说我想找到用户所在的特定社团,所以我可以决定是显示加入链接还是离开链接,所以如果结果返回true,则表示用户在那个社会中并且需要一个离开链接,否则反之亦然,所以 $soca 是社会变量,$user_socs 是用户所属的社会列表。谢谢
  • 但是array_search函数是否返回true,因为我听说它返回“如果在数组中找到值,则返回值的键”而不是true,这导致我的if语句不执行.

标签: php arrays search boolean return


【解决方案1】:
if (($key = array_search($soca, $user_socs)) !== FALSE) {
  ...
}

【讨论】:

    【解决方案2】:

    如果没有找到您要查找的内容,您需要对该函数进行编码以期望返回 FALSE

    所以

    if (array_search($soca, $user_socs) !== false) {
        // then I found something
        // not sure what but its defintely not 
        // returning a failed to find situation
    } else {
        // I did not find anything
    }
    

    注意!== 和NOT != 的使用,这专门用于函数可以返回可能等同于假但实际上不是假的实际数据的情况,即它可能返回第0 次出现的情况如果您只是我们==,则可能会与错误混淆的有效事件。

    【讨论】:

      猜你喜欢
      • 2010-09-26
      • 1970-01-01
      • 2012-10-04
      • 1970-01-01
      • 2014-05-18
      • 2017-12-04
      • 1970-01-01
      • 1970-01-01
      • 2017-07-08
      相关资源
      最近更新 更多