PHP foreach loop =>
这个问题在这里已经有了答案:
这是一个键值对枚举。 基本上,它遍历集合$fields
并且在每次迭代时,它将变量$a
绑定到键,并将变量$b
绑定到该值。
foreach($fields as $a => $b)
{
// iterates over all key-value pairs in the collection $fields
// at each iteration (for each key-value pair in the collection)
// $a is bound to the key
// $b is bound to the value
}
如果你有这样的关联数组:
$collection = array(1 => 'one', 2 => 'two', 3 => 'three');
然后打印下面的循环: 1: one; 2: two; 3: three;
1: one; 2: two; 3: three;
foreach($collection as $key => $value)
{
echo $key.': '.$value.'; ';
}
我也不理解在sprint()函数中使用这些变量(如果它们是变量)。
对于问题的第二部分, sprintf
函数基本上根据格式模式和给定的变量生成一个格式化的字符串。 所以:
sprintf("%20s: %sn", $b, $_REQUEST[$a]);
^ ^ ^
| | +--- second variable parameter
| | |
| +---- first variable parameter |
| | |
| V V
+----------- string format "%20s: %sn"
返回一个格式化的字符串,输出:
右对齐,空格填充,第一个参数的固定宽度(20个字符)字符串表示(变量$b
,如上所述,它是键值枚举中的值),
其次是冒号,
然后是空格
接着是第二个参数( $_REQUEST[$a]
的字符串表示, $_REQUEST[$a]
是$_REQUEST
数组中的一个值,由变量$a
的值索引,如上所述,再次绑定到键值对枚举)
上一篇: PHP foreach loop =>