我试图在我的codeigniter项目中检查我的购物车上的价值,我有这个数组:
$cart = Array
(
[547650d3bfb9bce7ea6d61faf312fa41] => Array
(
[id] => 1502369193000
[productid] => Product 1
[qty] => 1
[type] => sales
[user_id] => admin
[rowid] => 547650d3bfb9bce7ea6d61faf312fa41
)
[7473a2e4d2e4150c7de11d201538e179] => Array
(
[id] => 1502369241000
[productid] => SG KENNA
[qty] => 1
[type] => purchase
[user_id] => admin
[rowid] => 7473a2e4d2e4150c7de11d201538e179
)
)
我需要的是,检查内部数组user_id =' admin'并输入=' sales'存在。
这是我尝试但没有成功
$type = array_search('sales', array_column($cart, 'type'));
$user_id = array_search('admin', array_column($cart, 'user_id'));
if($type AND $user_id){
echo "exist";
} else {
echo "no exist";
}
更新: 我使用这样的循环但仍然没有成功
foreach ($cart as $item) {
if ($item['type'] == "sales" AND $item['user_id'] == "admin") {
echo "exist";
} else {
echo "no exist";
}
}
答案 0 :(得分:0)
尝试在循环中使用in_array
:
$cars = array
(
array("Volvo",22,18),
array("BMW",15,13),
array("Saab",5,2),
array("Land Rover",17,15)
);
foreach ($cars as $key => $value) {
if (in_array("Volvo", $value, TRUE))
{
echo "Match found<br>";
break;
}
else
{
echo "Match not found<br>";
}
}
答案 1 :(得分:0)
由于您需要进行两次后续检查,因此最好过滤数组并检查结果的计数。以下是使用匿名(lambda)函数执行此操作的示例:
鉴于您的数组是$arr
:
$results = array_filter( $arr, function ($entry) {
return $entry['type'] === 'sales' && $entry['user_id'] === 'admin';
});
然后您可以查看$results
数组echo count($results) ? 'exists' : 'does not exist';
修改强>
您还可以在关闭时检查isset($entry['type']) && isset($entry['user_id'])
是否有额外的安全性
答案 2 :(得分:0)
您可以使用以下代码,该代码将返回与给定条件匹配的@Scheduled(cron = "0 0 8 28-31 * ?")
public void yourMethod() {
Calendar calendar = Calendar.getInstance();
if (calendar.get(Calendar.DATE) == calendar.getActualMaximum(Calendar.DATE)) {
// do something...
}
}
个结果。当然,您可以返回整个数组或某个值或任何您想要的值。您可以根据需要进行更改和调整:
array
答案 3 :(得分:0)
你可以使用for循环检查这个,它会检查你的数组数据user_id和type是否匹配,如果匹配,那么$ found true和break,如果你想检查其中一个是ok,那么使用{{1}条件
||
希望它会帮助你
答案 4 :(得分:0)
试试这个。
$Your_user_id = searchArrayKeyVal("user_id", 'admin', $YourMultidimensionalArray);
$Your_type = searchArrayKeyVal("type", 'sales', $YourMultidimensionalArray);
if ($Your_user_id!==false) {
echo "Found user_id";
} else {
echo "Not Found user_id";
}
if ($Your_type!==false) {
echo "Found type";
} else {
echo "Not Found type";
}
答案 5 :(得分:-2)
使用此代码获取值
echo $arrayname['547650d3bfb9bce7ea6d61faf312fa41']['user_id'];
echo arrayname['547650d3bfb9bce7ea6d61faf312fa41']['type'];
答案 6 :(得分:-2)
你应该尝试这样的事情:
foreach($cart as $row) {
if(!empty($row) && !empty($row['type']) && !empty($row['user_id'])) {
if ($row['type'] == 'sales' && $row['user_id'] == 'admin'){
echo "exist";
$found = true;
break;
}
}
}
if(!$found){
echo "no exist";
}