count 函数 作用:计算数组的单元个数[或对象的属性个数]
注:count函数的参数,可以是数组,也可以是"非数组" 返回值分3种情况讨论
1: 数组/对象, 返回数组的单元个数/对象的属性个数
2: NULL ,返回0
3: 非数组,也非NULL,通通返回1

echo count($arr);
count($arr,true),'<br />';//第2个参数为true时,表示用递归的来计算数组的单元个数

 

array_key_exists
数组 键 存在, 用来判断数组有没有某一个键

if(isset($arr['age'])) {
    echo $arr['abc'];
} else {
    echo '$arr["abc"]不存在<br />';
}

用函数 array_key_exists来判断
if(array_key_exists('abc',$arr)) {
    echo '有abc键';
} else {
    echo '$arr["abc"]不存在<br />';
}

 

用isset和array_key_exists来判断 有什么区别呢?

 1: isset 不是函数,是语法结构 而array_key_exists是函数

速度上,isset省去了一次函数调用,速度要快些.

2:isset来判断是根据值来判断的, 如果某个单元的值 为 NULL,依然是返回false 因为 isset是靠值来判断的.

如果对于键/值的都不固定,不确定是否有NULL存在, 请用 array_key_exists来判断

3: isset是用来判断变量是否设置的,不限于数组

如果数组是动态生成,不好判断单元值及键值时,用array_key_exists保险

 

array_flip($arr); // 交换键值, 即值做键,键做值

in_array('小刚',$arr); //函数,判断某个值存不存在

range(1,10); // 生成一个指定范围的数组

array_sum($arr); // 计算数组所有单元的值的和

shuffle($arr); //把数组打乱

array_unique($arr); //键名没改变,如果值重复的话,取先出现的键值放在返回数组里.去重函数

array_reverse($arr); //数组反转函数array_reverse($arr,true);//如果想强制把索引也调过来,可以加第2个参数
对于纯整型的索引数组,反转时,要注意,默认不转键的顺序,只转值的顺序.

array_push
1: array_push的作用是 往数组的尾部压入单元
2: 返回值是: 压入单元成功后,数组的单元个数
3: array_push是引用传值,直接影响参数数组本身

array_poparray_pop 总结
1: 作用是弹出并去掉最后一个单元
2: 返回值是弹出的值
3: array_pop是引用传参,直接影响参数数组的值


array_shift
1: array_shift作用是 弹出并剪切数组的第一个单元
2: 返回是弹出的单元值
3: array_shift是引用传参,为影响参数数组
4: array_shift在剪切首单元之后,学会把索引重新整理,从0开始计数.
但, 如果是字符串做键,则不受影响.


array_unshift
1: 作用是把单元追加到数组的头部
2: 返回值是追加后,新数组的单元个数
3: 引用传参,影响参数的值
4: 在头部新加单元后, 索引从0重新排

思考题:
如何反转数组,并保持原来的键值?

原数组:

$a = Array (     [1490] => 874     [1534] => 553     [1488] => 532     [27] => 321     [1498] => 111 );
array_slice($a,0,2,true);
print_r($a);

结果 : Array ( [1490] => 874 [1534] => 553 )