php数组
<?php
$kele = array('张三',10 => '李四', 'PHP中文网' , '去PHP中文网学PHP', 19 => '王二' , '小明');
//打印显示$kele
echo '<pre>';
var_dump($kele);
echo '</pre>';
?>
向索引数组中增加元素
1.向索引数组中增加元素用: 数组变量名[]、数组变量名[键值]这两种方式来增加元素
粗体文本
2.键值的增长规则与之前的规则一样。都是最大值加1的原则。
<?php
$minren = array(
'杨幂',
'王珞丹',
'刘亦菲',
'黄圣依'
);
//如何向这$minren这个数组中增加元素呢
//猜猜范冰冰的下标是多少?
$minren[] = '范冰冰';
$minren[100] = '范爷';
//它的下标又为几呢?
$minren[] = '李晨';
?>
向索引数组中删除元素
1.使用unset删除变量的方式来删除数组里面的值。
2.删除了中间的值,并不会让后面的下标向前自动移动。而是原来的值为多少就为多少
3.删除掉其中的某个值,新加入的值不会替换掉原来的位置,依然遵循最大值加1的原则。
<?php
$minren = array(
'杨幂',
'王珞丹',
'刘亦菲',
'黄圣依',
'范冰冰'
);
//假设我不喜欢:黄圣依,如何将黄圣依给删掉掉呢?
//如果删除掉后范冰冰的下标为多少呢?
//如果在后面再追加一个元素,会填掉:“黄圣依”留下来的空吗?
unset($minren[3]);
$minren[] = '金星';
echo '<pre>';
var_dump($minren);
echo '</pre>';
?>
索引数组的其他声明方式
// 一、直接用之前未声明的变量,用变量名后面接中括号的方式声明数组。
<?php
//直接写一个变量后面加上中括号,声明变量
$qi[] = '可口可乐';
$qi[10] ='百事可乐';
echo '<pre>';
var_dump($qi);
echo '</pre>';
?>
//二、每次用array()写的太麻烦了,还可以不用写array哟,更简单。
<?php
$minren = [
'杨幂',
'王珞丹',
100 => '刘亦菲',
'黄圣依',
'范冰冰'
];
echo '<pre>';
var_dump($minren);
echo '</pre>';
?>
关联数组
<?php
//声明一下关联数组
$rela = array(
'帅' => '陈奕迅',
'很帅' => '黄晓明',
'灰常灰常帅' => '宁泽涛',
'有男人味的大叔' => '吴秀波',
);
//再来玩玩简洁声明
$drink = [
'美' => '凤姐',
'很美' => '芙蓉姐姐',
'verymei' => '杨幂',
'心中滴女神呀' => '华妃',
100 => '孙俪',
'娘娘',
];
// 输出 $rela
echo '<pre>';
var_dump($rela);
echo '</pre>';
// 输出$drink
echo '<pre>';
var_dump($drink);
echo '</pre>';
?>
关联数组
//声明一下关联数组
$rela = array(
'帅' => '陈奕迅',
'很帅' => '黄晓明',
'灰常灰常帅' => '宁泽涛',
'有男人味的大叔' => '吴秀波',
);
//再来玩玩简洁声明
$drink = [
'美' => '凤姐',
'很美' => '芙蓉姐姐',
'verymei' => '杨幂',
'心中滴女神呀' => '华妃',
100 => '孙俪',
'娘娘',
];
// 输出 $rela
echo '<pre>';
var_dump($rela);
echo '</pre>';
// 输出$drink
echo '<pre>';
var_dump($drink);
echo '</pre>';
?>
我们通过实验知道:
1.声明关联数组是 键名 => 值
2.在关联数组可以有索引数组的元素
3.关联数组中的索引数组的元素后再声明了无下标的元素,依然是最大值+1原则.
php 数组的计算
count函数的用法:
int count ( mixed $变量);
1.参数$变量 要求是一个数组或者一个可以被统计的对象
<?php
$a[0] = 1;
$a[1] = 3;
$a[2] = 5;
$result = count($a);
echo $result; //3
$arr = [ 1,2,3 4];
echo $result; //4
?>
php for循环遍历索引数组
<?php
//声明一个数组,值为1到10
$num = array(1,2,3,4,5,6,7,8,9,10);
//按照索引数组的特点,下标从0开始。所以1的下标为0,10的下标为9
echo $num[0].'<br />';
echo $num[9].'<br />';
//我们可以得到数组中元素的总个数,为10
echo count($num);
//遍历这个索引数组的话,我们就可以定义一个变量为$i
//$i 的值为0,从0开始
//可以设定一个循环条件为:$i 在下标的(9)最大值之内循环
for($i = 0 ; $i < count($num) ; $i++){
echo $num[$i].'<br />';
}
?>
php foreach遍历关联数组
foreach( 要循环的数组变量 as [键变量 =>] 值变量){
//循环的结构体
}
<?php
$data = [
'fj' => '凤姐',
'fr' => '芙蓉',
];
foreach($data as $key => $value){
echo $key . '-------' . $value . '<br />';
}
//如果我们只想读取值的话,就可以把下面的$key => 给删除掉,读取的时候,就只读取值了。做完上面的实验,你可以打开下面的代码再实验几次。
/*
foreach($data as $value){
echo $value . '<br />';
}
*/
?>
php list、each函数遍历数组
list函数
我们先来讲list函数:
list ( mixed $变量1 [, mixed $变量n ] )
它的功能:将索引数组下标和变量一一对应,如果变量对应的数组项不存在返回null 并且弹出警告。
<?php
list($one , $two , $three) = array('张三' ,'李四' ,'王五');
//再次声明:单引号不结释变量,所以输出的是字符串$one
echo '$one----'.$one.'<br />'; //$one----张三
echo '$two----'.$two.'<br />'; //$two----李四
echo '$three----'.$three.'<br />'; //$three----王五
?>
list($one, $two, $three) = array(2 => '张三', '李四', '王五');
echo '$one----' . $one . '<br />'; // $one----
echo '$two----' . $two . '<br />'; // $two----
echo '$three----' . $three . '<br />'; //$three----张三