php - 如何访问foreach中的索引
问题描述
我需要检查是否有“CodProduto”,所以我做了:
foreach ($movimentos['CodProduto'] as $value){}
它将运行所有 CodProduto,如果它存在,我需要在 foreach 中执行 if 以检查其他 2 个字段:
if (!$movimentos['Percentagem'] && !$movimentos['Valor'] {...}
我的问题是我不知道如何访问项目/索引$movimentos['Percentagem']
或!movimentos['Valor']
子索引我不知道如何调用它。
$movimentos['Valor'] 是一个数组,我不知道如何在检查 $movimentos['Percentagem'] 的同时检查他的项目
解决方案
foreach
允许您指定一个变量来获取索引:
foreach ($movimentos['CodProduto'] as $index => $value) {
if (!$movimentos['Percentagem'][$index] && !$movimentos['Valor'][$index]) {...}
}
但是,如果将所有相关数据放在一个数组中,而不是放在单独的数组中,通常会更容易。所以而不是
$movimentos = [
"CodProduto" => [...],
"Percentagem" => [...],
"Valor" => [...],
"ProdutoDesignaceo" => [...]
];
像这样做:
$movimentos = [
["CodProduto" => 1, "Percentagem" => 1, "Valor" => 2, "ProdutoDesignaceo" => "..."],
["CodProduto" => 2, "Percentagem" => 3, "Valor" => 4, "ProdutoDesignaceo" => "..."],
...
];
然后你的循环就像:
foreach ($movimentos as $m) {
if (!$m['Percentagem'] && !$m['Valor']) {...}
}
推荐阅读
- selenium - 为什么 selenium 无法使用 xpath 找到元素?
- google-sheets - 如何重用计算字段
- ibm-cloud - 无法使用 ibmcloud CLI 登录
- fancybox-3 - 问题:单击关闭按钮会使下方的移动菜单按钮处于悬停状态
- amazon-web-services - 健康检查失败,代码如下:[502]
- python - 如何使用 Python 签署文件?
- java - JPanel 更新不正确
- javascript - 尝试绘制多个squears(Javascript)
- jquery - inst is undefined on countdown
- javascript - 如何在 React 中从另一个组件重新渲染一个组件