Php 如何检查关联数组中是否存在特定项?

Php 如何检查关联数组中是否存在特定项?,php,arrays,laravel,associative-array,Php,Arrays,Laravel,Associative Array,我有一个像上面这样的数组。如何检查数组是否具有特定的“pid” 例如,如果数组具有“pid”1,则显示查看按钮,否则显示添加到购物车按钮,您可以利用isset()&!空() 您可以使用issetfunction $array = [ { "pid": "1", "pname": "Burger", "price": "20", "qnty": "1", "pimg": "1.jpg" }, { "pid": "2", "pname": "Cheese burger", "p

我有一个像上面这样的数组。如何检查数组是否具有特定的“pid”


例如,如果数组具有“pid”1,则显示
查看按钮
,否则显示
添加到购物车按钮
,您可以利用isset()&!空()

您可以使用
isset
function

$array = [
 {
 "pid": "1",
 "pname": "Burger",
 "price": "20",
 "qnty": "1",
 "pimg": "1.jpg"
 },
 {
 "pid": "2",
 "pname": "Cheese burger",
 "price": "30",
 "qnty": "1",
 "pimg": "2.jpg"
 }
]

您需要使用循环迭代数组,然后根据数组的任何索引检查值

$key = 1;
$count =0 ;

foreach($array as $a) {
    if(isset(array_search($key,$a))){
       //your logic to execute if the $key is there in the array
       $count ++;
   }
 }
  if($count==0){
      //add to cart logic
  }

您的第二部分代码无效,它完全错误。您无法通过
empty()
验证密钥。请参阅,因为数组中没有赋值运算符。我想检查数组是否具有特定的“pid”,如果是,则显示“查看按钮”,因为pid已存在于数组中,如果不存在于数组中,则显示“添加到购物车按钮”,但如果pid不存在,则此处为“添加到购物车按钮”“在阵列中显示尽可能多的可用键。如果存在pid,则显示视图按钮,该按钮为ok@Maulik我在这里所做的是分配您想要在分配给
pid
的数组中查找的值,并使用
array\u search
在数组中循环查找该值是否分配给循环中的pid。这是否回答了您的问题?
foreach ($array as $item){
   if($item->pid == 1) {
       //do some work...
   }
}
$array = [
 {
 "pid": "1",
 "pname": "Burger",
 "price": "20",
 "qnty": "1",
 "pimg": "1.jpg"
 },
 {
 "pid": "2",
 "pname": "Cheese burger",
 "price": "30",
 "qnty": "1",
 "pimg": "2.jpg"
 }
]
$key = 1;
$count =0 ;

foreach($array as $a) {
    if(isset(array_search($key,$a))){
       //your logic to execute if the $key is there in the array
       $count ++;
   }
 }
  if($count==0){
      //add to cart logic
  }
foreach ($items as $item){
   if($item->pid == 1) {
       // do whatever you want to do
   }
}