定义格式
$arrayName = ('xxx',xx,true);
数组的形式有两种,一种是索引数组,一种是关联数组,关联行数组它的key是自己定义的,索引型数组的key是程序给的:
关联型数组
格式:
<?php
$a = '123';
$b = 'admin';
$array = array(
'key1' => 'wuhan',
'key2' => 'jinan',
'key3' => 'beijing'
);
var_dump($array);
?>
数组的遍历
用到的是**foreach()**函数:
<?php
$a = '123';
$b = 'admin';
$arr = array(1,2,3,'niubi');
$array = array(
'key1' => 'wuhan',
'key2' => 'jinan',
'key3' => 'beijing'
);
foreach ($array as $key => $value) {
echo $key.'---'.$value.'<br>';
}
?>
数组的增删改查
增加
在数组后跟一个[],然后把要添加的数据赋值给它即可
<?php
$a = '123';
$b = 'admin';
$arr = array(1,2,3,'niubi');
$array = array(
'key1' => 'wuhan',
'key2' => 'jinan',
'key3' => 'beijing'
);
# 输出增加数据前的数组
print_r($arr);
echo "<br>";
# 增加数据
$arr[] = 'ff';
# 输出增加数据后的数组
print_r($arr);
?>
删除数据
这里用到unset()函数,格式就是unset($arrName[x]),x为数组中数据的下标:
<?php
$a = '123';
$b = 'admin';
$arr = array(1,2,3,'niubi');
$array = array(
'key1' => 'wuhan',
'key2' => 'jinan',
'key3' => 'beijing'
);
# 输出增加数据前的数组
print_r($arr);
echo "<br>";
# 增加数据
$arr[] = 'ff';
# 输出增加数据后的数组
print_r($arr);
# 删除数组arr中的第一个数据,并输出arr当前数据
unset($arr[0]);
echo "<br>";
print_r($arr);
?>
修改数据
数据的修改也挺简单的,直接通过索引进行修改即可
<?php
$a = '123';
$b = 'admin';
$arr = array(1,2,3,'niubi');
$array = array(
'key1' => 'wuhan',
'key2' => 'jinan',
'key3' => 'beijing'
);
# 输出增加数据前的数组
print_r($arr);
echo "<br>";
# 增加数据
$arr[] = 'ff';
# 输出增加数据后的数组
print_r($arr);
# 删除数组arr中的第一个数据,并输出arr当前数据
unset($arr[0]);
echo "<br>";
print_r($arr);
# 通过索引修改数据
$arr[3] = 'www.niubi.com';
# 打印修改后的数据
echo "<br>";
print_r($arr[3]);
?>
查询数据
上面每次print_r都是一次查询,跟上数据对应的下标,或者用foreach()函数来进行遍历输出即可。
<?php
$a = '123';
$b = 'admin';
$arr = array(1,2,3,'niubi');
$array = array(
'key1' => 'wuhan',
'key2' => 'jinan',
'key3' => 'beijing'
);
foreach ($arr as $key => $value) {
echo $key.'-->'.$value;
echo "<br>";
}
# 或者
for($i=0;$i<count($arr);$i++){
echo "$arr[$i]";
echo "<br>";
}
# 或者
while ($row = each($arr))
{
list($k,$y) = $row;
echo "$k => $y <br>";
}
?>
关于数组的几个函数
count()
返回当前数组的长度:
<?php
$a = '123';
$b = 'admin';
$arr = array(1,2,3,'niubi');
$array = array(
'key1' => 'wuhan',
'key2' => 'jinan',
'key3' => 'beijing'
);
$len = count($array);
# 输出3(数组array的长度为3)
echo "$len";
?>
array_key_exists()
判断键值是否存在,返回的是一个bool值:
<?php
$a = '123';
$b = 'admin';
$arr = array(1,2,3,'niubi');
$array = array(
'key1' => 'wuhan',
'key2' => 'jinan',
'key3' => 'beijing'
);
$len = array_key_exists('key3', $array);
var_dump($len);
?>
in_array()
判断值是否在里面,返回的也是bool类型的值:
<?php
$a = '123';
$b = 'admin';
$arr = array(1,2,3,'niubi');
$array = array(
'key1' => 'wuhan',
'key2' => 'jinan',
'key3' => 'beijing'
);
$len = array_key_exists('key3', $array);
var_dump($len);
?>
array_keys()
把数组中的键值转为索引型数组:
<?php
$a = '123';
$b = 'admin';
$arr = array(1,2,3,'niubi');
$array = array(
'key1' => 'wuhan',
'key2' => 'jinan',
'key3' => 'beijing'
);
# array_keys()把数组的键值保存到一个索引型数组里,我这里把数组的值附给了$len
$len = array_keys($array);
# 循环遍历$len把他的值与数据分别赋值给$key,$vla,并打印len中的值
while (list($key,$vla) = each($len))
{
echo $key.'==>'.$vla.'<br>';
}
?>