【发布时间】:2018-07-25 19:51:43
【问题描述】:
为了给出一些上下文,这是 for 循环引用的代码:将表单数据放入数组中。
$_SESSION['shoppingcart'][$count] = array (
'id' => filter_input(INPUT_GET, 'ID'),
'name' => filter_input(INPUT_POST, 'hidden_name'),
'price' => filter_input(INPUT_POST, 'hidden_price'),
'list_price' => filter_input(INPUT_POST, 'hidden_list_price'),
'quantity' => filter_input(INPUT_POST, 'quantity')
);
$count = count($_SESSION['shoppingcart']);
$product_ids = array_column($_SESSION['shoppingcart'], 'id');
这一切都很好:我理解这段代码的作用。这只是“for”循环以及在 for 循环之外涉及变量“$i”的所有内容。
for ($i=0; $i < count($product_ids); $i++) {
if ($product_ids[$i] == filter_input(INPUT_GET, 'ID')) {
$_SESSION['shoppingcart'][$i]['quantity'] +=
filter_input(INPUT_POST,'quantity');
}
}
所以,$i 变量。它在 for 循环中代表什么,为什么/它在“if”语句中的方括号中代表什么。
我应该说这段代码实现了它的预期目的(将表单数据放入数组中,如果数组中的项目已经存在,则递增 quantity。)
我从 YouTube 教程中获得了代码,只是他没有解释 $i 部分。
【问题讨论】:
-
发帖前你有没有看说明书?
-
我投票决定将此问题作为离题结束,因为该手册有很好的文档说明 for 循环的工作原理
-
请不要从网上下载代码,看不懂的时候再使用。这样做只会让您的应用程序充满错误和安全漏洞,并且当您的服务器被劫持时,将使互联网对每个人都更加危险。
-
另外,
for循环是绝大多数语言中最基本的编程概念之一,当然是所有“类 C”语言。如果你不知道for循环是如何工作的,我给你的最好建议是在做任何其他事情之前花时间阅读一些基本教程。试图在不理解循环的情况下学习编程只会让你非常沮丧。 -
同意@EdCottrell 关于安全性的看法。例如
filter_input(INPUT_GET, 'ID')看起来它可能会过滤某些内容,但默认过滤器是 FILTER_UNSAFE_RAW。