跟燕十八学习PHP-第十三天-常用数组函数讲解
来源:互联网 发布:淘宝台服战网点 编辑:程序博客网 时间:2024/04/30 19:24
/**
燕十八 公益PHP培训
课堂地址:YY频道88354001
学习社区:www.zixue.it
**/
<?php
// 数组函数讲解
/*
count 函数
作用:计算数组的单元个数[或对象的属性个数]
注:count函数的参数,可以是数组,也可以是"非数组"
返回值分3种情况讨论
1: 数组/对象, 返回数组的单元个数/对象的属性个数
2: NULL ,返回0
3: 非数组,也非NULL,通通返回1
*/
$arr = array('a','b','c','d');
echo count($arr),'<br />'; // 4
$str = 'abcd';
echo count($str),'<br />'; // 1
$nul = null;
echo count($nul),'<br />'; // 0
//====再深入一点===//
$arr = array('a','b','c',array('d','e'));
echo count($arr),'<br />'; // 4,l因为$arr第1层确实就4个单元
// 刚才答5的同学,思路值得夸张,因为他用到了递归的思想,
// 即,某单元如果是数组,继续进去数单元数量.
echo count($arr,true),'<br />'; // 6
/*
第2个参数为true时,代表递归的来计算数组的单元个数
第1层 a,b,c, array(d,e) == 4个单元
array(d,e) 又是数组,进该数量继续数.
数出 d,e 2个单元
共6个
*/
$arr = array('a','b','c',array('d',array('e','f')));
echo count($arr,true),'<br />';
<?php
/*
array_key_exists
数组 键 存在, 用来判断数组有没有某一个键
*/
$arr = array('age'=>98,'height'=>176,'area'=>'北京',0=>'哈哈','kaka'=>NULL);
echo $arr['age'],'<br />';
echo $arr['abc'],'<br />';
// 能不能先判断数组有没有某单元?
/*
有2个办法,用isset
*/
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 />';
}
var_dump(isset($arr['kaka'])); // false
var_dump(isset($arr[0])); // true
/*
用isset和array_key_exists来判断
有什么区别呢?
1:
isset 不是函数,是语法结构
而array_key_exists是函数
速度上,isset省去了一次函数调用,速度要快些.
2:isset来判断是根据值来判断的,
如果某个单元的值 为 NULL,依然是返回false
因为 isset是靠值来判断的.
如果对于键/值的都不固定,不确定是否有NULL存在,
请用 array_key_exists来判断
3: isset是用来判断变量是否设置的,不限于数组
// 如果数组是动态生成,不好判断单元值及键值时,用array_key_exists保险
*/
燕十八老师太幽默了, 昨天的视频如下:
http://www.tudou.com/listplay/uCx6IN6luok/J2Ai2bxYNzo.html
燕十八 公益PHP培训
课堂地址:YY频道88354001
学习社区:www.zixue.it
**/
<?php
// 数组函数讲解
/*
count 函数
作用:计算数组的单元个数[或对象的属性个数]
注:count函数的参数,可以是数组,也可以是"非数组"
返回值分3种情况讨论
1: 数组/对象, 返回数组的单元个数/对象的属性个数
2: NULL ,返回0
3: 非数组,也非NULL,通通返回1
*/
$arr = array('a','b','c','d');
echo count($arr),'<br />'; // 4
$str = 'abcd';
echo count($str),'<br />'; // 1
$nul = null;
echo count($nul),'<br />'; // 0
//====再深入一点===//
$arr = array('a','b','c',array('d','e'));
echo count($arr),'<br />'; // 4,l因为$arr第1层确实就4个单元
// 刚才答5的同学,思路值得夸张,因为他用到了递归的思想,
// 即,某单元如果是数组,继续进去数单元数量.
echo count($arr,true),'<br />'; // 6
/*
第2个参数为true时,代表递归的来计算数组的单元个数
第1层 a,b,c, array(d,e) == 4个单元
array(d,e) 又是数组,进该数量继续数.
数出 d,e 2个单元
共6个
*/
$arr = array('a','b','c',array('d',array('e','f')));
echo count($arr,true),'<br />';
<?php
/*
array_key_exists
数组 键 存在, 用来判断数组有没有某一个键
*/
$arr = array('age'=>98,'height'=>176,'area'=>'北京',0=>'哈哈','kaka'=>NULL);
echo $arr['age'],'<br />';
echo $arr['abc'],'<br />';
// 能不能先判断数组有没有某单元?
/*
有2个办法,用isset
*/
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 />';
}
var_dump(isset($arr['kaka'])); // false
var_dump(isset($arr[0])); // true
/*
用isset和array_key_exists来判断
有什么区别呢?
1:
isset 不是函数,是语法结构
而array_key_exists是函数
速度上,isset省去了一次函数调用,速度要快些.
2:isset来判断是根据值来判断的,
如果某个单元的值 为 NULL,依然是返回false
因为 isset是靠值来判断的.
如果对于键/值的都不固定,不确定是否有NULL存在,
请用 array_key_exists来判断
3: isset是用来判断变量是否设置的,不限于数组
// 如果数组是动态生成,不好判断单元值及键值时,用array_key_exists保险
*/
燕十八老师太幽默了, 昨天的视频如下:
http://www.tudou.com/listplay/uCx6IN6luok/J2Ai2bxYNzo.html
- 跟燕十八学习PHP-第十三天-常用数组函数讲解
- 跟燕十八学习PHP-第十天-详细讲解系统自带的字符串函数
- 跟燕十八学习PHP-第十一天-数组
- 跟燕十八学习PHP-第十七天-开发项目(1)
- 跟燕十八学习PHP-第十八天-开发项目(2)
- 跟燕十八学习PHP-第十九天-热身项目完善
- 跟燕十八学习PHP-第二十天-讲解数据库概念
- 跟燕十八学习PHP-第十二天-数组游标操作
- 跟燕十八学习PHP-第七天-函数
- 跟燕十八学习PHP-第八天-函数&超全局变量
- 跟燕十八学习PHP-第十五天-php增删改查表数据
- 跟燕十八学习PHP-第二十八天-union用法深入讲解
- 跟我学习php数组常用函数-上篇
- 跟我学习php数组常用函数-下篇
- 跟燕十八学习PHP-第二十三天-mysql日期时间列详解date-time-year-timesta
- 跟燕十八学习PHP-第二十九天-MySQL数学函数与字符串
- 跟燕十八学习PHP-第十四天-php链接mysql
- 跟燕十八学习PHP-第四天-运算符
- JAVA 静态代码块和构造函数
- halcon摄像机标定
- 探讨Parsley框架下Controller更新View的方法
- Android---RadioButton(单选按钮)详解
- 关于redhat9.0与arm-linux-gcc 编译链版本问题
- 跟燕十八学习PHP-第十三天-常用数组函数讲解
- 圆角listview
- 新计划
- Windows PE研究
- C语言计算结构体长度
- java-使用import
- sap aa table
- Android用Application设置全局变量以及使用
- JSP中4个对象的范围