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

2022-08-30 15:49:08

我有这个数组:

$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;
}

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


答案 1

您可以使用它。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";

}

答案 2

相反,您只需键入此内容即可解决您的问题,因为如果您转储此数组array_key_existsin_array

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

输出将是,

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

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