检查数组中是否存在值(Laravel 或 Php)

新手上路,请多包涵

我有这个数组:

 $list_desings_ids = array('hc1wXBL7zCsdfMu','dhdsfHddfD','otheridshere');

使用 die() + var_dump() 这个数组返回我:

 array:2 [▼
  0 => "hc1wXBL7zCsdfMu"
  1 => "dhdsfHddfD"
  2 => "otheridshere"
]

我想检查 $list_desings_ids 数组中是否存在 design_id。

例如:

 foreach($general_list_designs as $key_design=>$design) {
    #$desing->desing_id return me for example: hc1wXBL7zCsdfMu
    if(array_key_exists($design->design_id, $list_desings_ids))
    $final_designs[] = $design;
}

但这对我不起作用,正确的方法是什么?

原文由 Funny Frontend 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 444
2 个回答

相反 array_key_exists 你只需输入 in_array 这将解决你的问题,因为如果你转储你的这个数组

$list_desings_ids = array('hc1wXBL7zCsdfMu','dhdsfHddfD','otheridshere');

输出将是,

 array(
   0 => hc1wXBL7zCsdfMu,
   1 => dhdsfHddfD,
   2 => otheridshere
)

所以你的代码 array_key_exists 将不起作用,因为这里的键 0,1,2 存在,所以,你想检查值,所以对于值,只需这样做 in_array 它将在您提到/创建的数组中搜索您的期望值

原文由 Qazi 发布,翻译遵循 CC BY-SA 3.0 许可协议

为此,您可以使用 in_array

尝试

$design_id = 'hc1wXBL7zCsdfMu';
$list_desings_ids = array('hc1wXBL7zCsdfMu','dhdsfHddfD','otheridshere');

if(in_array($design_id, $list_desings_ids))
{
  echo "Yes, design_id: $design_id exits in array";

}

原文由 Hassaan 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题