php数组中的键值对不是理解很透,是否说的是可以自定义一个下标,让后创建一个新的键值对,让后经常出现foreach($a as $key=>$b){...}.里面的$key作用是什么
简单说吧。上面foreach就是遍历数组$a的每个元素,并把每个元素的键、值分别赋给 $key、$b,便于在循环主体中使用。
下面
1、php中array当纯粹的数组用,$key就是数组元素的下标,
array('a1','a2'); 等价于 array(0 =>'a1', 1 => 'a2');
如果不特别指定下标,每增加一数组项,下标自增1
2、array当作映射表来用,实际上这也是array最重要的用法。这时作为key可以数字也可以是字符串
下面定义了电话区号和城市的映射表,如下
$map = array(
'010' => '北京',
'0755' => '深圳',
......
);
如果要查0755对应的是哪个城市就可以用map['0755']查出
另外再举个例子,页面上经常会有下拉列表,那么如果要生成区号-城市下拉列表的话就要
echo '<select>';
foreach($map as $code = > $city){
//双引号总的变量可以用{}括起来
echo "<option value = '{$code}'>{$city}</option>"
}
echo '</select>';
输入就是
<select><option value='010'> 北京</option><option value='0755'> 深圳</option></select>
一个数组相当于一条记录,键相当于字段名,值相当于字段对应的记录值。