展开全部
$category = $responses[0]['category_name'];这句话中的[0]是什么意思?书中没介绍e69da5e887aa3231313335323631343130323136353331333332633031......
变量$responses是一个二维数组,上面代码$responses[0]['category_name']意思是获取下标为0也就是第一个数组列中category_name的值
2. foreach中的if语句,
if ($category != $response['category_name']) {
$category = $response['category_name'];
echo '
' . $response['category_name'] . '';}
这一句是判断变量$category的值是否等于数组$response中下标为category_name值 如果等于就显示这个值。
foreach 是来遍历二维数组$responses的,此外这个程序写得不好,按照这个程序逻辑,foreach就得遍历完二维数组$responses所有元素,当执行一次循环后,$category便一直等于 $response['category_name'],那么往后if语句还是执行的,foreach继续遍历完数组。
所以优化一下加一个break就行了 具体代码 我贴一下:
foreach ($responses as $response) {
// Only start a new fieldset if the category has changed
if ($category != $response['category_name']) {
$category = $response['category_name'];
echo '
' . $response['category_name'] . '';}
//.......若干代码
break;
}