php - PHP foreach数组检查库存是否大于
问题描述
试图检查库存是否大于。当所有不同的项目大于 10 库存时,我想显示一些文本“请求的数量不可用”而不是表单提交。这可能吗?
问题是我使用 SESSION 从购物车中的一件物品中有 15 个数量。如果一件商品的 15 个数量大于 10 个库存,则总库存为 10 个,则显示“请求的数量不可用”,因此不要表单提交。但是我从一件小于等于 10 个库存的物品中更改了 10 个数量的值。显示“您的订单已下达。”</p>
$array = array('0' => array('qty' => 15), '1' => array('qty' => 5), '2' => array('qty' => 1));
foreach ($array as $key => $item) {
if ($item['qty'] !== 0) {
if ($item['qty'] <= 10) {
$it = 'Your order has been successfully processed';
} else {
$it = 'The requested qty is not available';
}
} else {
$it = 'Some of products are out of stock';
}
}
echo $it;
例如(1)
一件 数量 10
两件 数量 5
第三项 数量 1
= 如果可能的话,表单提交(数量小于等于库存 10),然后显示“您的订单已下达”。
例如(2)
一件 数量 15
两件 数量 5
第三项 数量 1
= 如果不提交(数量大于库存),则显示“请求的数量不可用。
例如 (3)
一件 数量 9
两件 数量 4
第三项 数量 0
= 如果不提交,则显示“部分产品缺货”。
解决方案
可能这也可以帮助您:
$array1 =Array ('0' => Array('qty'=>10),'1'=>Array('qty'=>5),'2'=>Array('qty'=>1));
$array2 =Array ('0' => Array('qty'=>15),'1'=>Array('qty'=>5),'2'=>Array('qty'=>1));
$array3 =Array ('0' => Array('qty'=>9),'1'=>Array('qty'=>4),'2'=>Array('qty'=>0));
function handleBasket($items)
{
$quantities = array_column($items, 'qty');
foreach($quantities as $quantity)
{
if($quantity >10){
return 'The requested qty is not available';
}
if($quantity ===0){
return 'Some of products are out of stock';
}
}
return 'Your order has been successfully processed';
}
echo handleBasket($array1);
echo handleBasket($array2);
echo handleBasket($array3);
输出 :
Your order has been successfully processed
The requested qty is not available
Some of products are out of stock
推荐阅读
- c# - ML.NET IDataView 返回 csv
- ruby-on-rails - 我从延迟的作业中得到重复的插入到数据库表中
- javascript - Javascript 又神秘了?
- java - 更改 dataTable 选择 JSF 2.2/ Primefaces 上的 inputText
- angular - Angular 6中的过期时间倒计时
- certificate - 如何从 PKCS12 密钥库更改密钥密码
- python - 仅使用 predict() 或 predict_on_batch() 预测批次中的单个时间序列样本
- flutter - 带有 ExpansionTile 的 ReorderableListView
- java - 如何获得打印出对象地址和自定义 toString 的能力
- android - Flutter SQFlite 一对多关系设置