【问题标题】:Check if integer is in objects attribute array检查整数是否在对象属性数组中
【发布时间】:2015-07-03 09:18:06
【问题描述】:

我有以下结构:

$foo_array = array(
  [0] => object(foo) {
    'id' => 1
  }
  [1] => object(foo) {
    'id' => 2
  }
)

我想检查一下,这个数组的 id 属性中是否存在 int(1)。我该怎么做?

我一直在考虑类似in_array(1, $foo_array) 的东西,但它当然行不通。

【问题讨论】:

  • 试试这个:- foreach($foo_array as $foo){if($foo->id == 1){echo "yes";}}
  • 仅供参考:您可以接受对您帮助最大并解决了您的问题的答案 (meta.stackexchange.com/q/5234)

标签: php arrays object


【解决方案1】:

这应该适合你:

只需使用array_reduce(),例如

array_reduce($arr, function($keep, $v){
    if($v->id == 1)
        return $keep = TRUE;
    return $keep;
}, FALSE);

【讨论】:

  • @KarolHernik 忘了复制一些东西。现在更新它,它应该可以工作
【解决方案2】:

您可以使用 array_column 作为 (PHP >= 5.5)

in_array(1, array_column($foo_array,'id'))

【讨论】:

    猜你喜欢
    • 2020-11-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-03
    • 2012-07-27
    • 2018-10-31
    • 1970-01-01
    • 2017-09-29
    相关资源
    最近更新 更多