Php 如何检查关联数组中是否存在特定项?
我有一个像上面这样的数组。如何检查数组是否具有特定的“pid”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”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
}
}