关于php基础类型的一些探讨
来源:互联网 发布:java获取局域网所有ip 编辑:程序博客网 时间:2024/05/19 18:45
首先来看这些习题:
一、基础题
1. 写出如下程序的输出结果
<?
$str1 = null;
$str2 = false;
echo $str1==$str2 ? '相等' : '不相等';
$str3 = '';
$str4 = 0;
echo $str3==$str4 ? '相等' : '不相等';
$str5 = 0;
$str6 = '0';
echo $str5===$str6 ? '相等' : '不相等';
?>
2. 写出如下程序的输出结果
<?
$a1 = null;
$a2 = false;
$a3 = 0;
$a4 = '';
$a5 = '0';
$a6 = 'null';
$a7 = array();
$a8 = array(array());
echo empty($a1) ? 'true' : 'false';
echo empty($a2) ? 'true' : 'false';
echo empty($a3) ? 'true' : 'false';
echo empty($a4) ? 'true' : 'false';
echo empty($a5) ? 'true' : 'false';
echo empty($a6) ? 'true' : 'false';
echo empty($a7) ? 'true' : 'false';
echo empty($a8) ? 'true' : 'false';
?>
答案: 只有 6 8 返回false 其他都是true
<?
$test = 'aaaaaa';
$abc = & $test;
unset($test);
echo $abc;
?>
答案: aaaaaa
分析:在php中&地址符号引用 其实是引用的对象副本 当unset之后 并没有删除副本 所以仍然是aaaaaa
4. 写出如下程序的输出结果
static $count = 0;
return $count++;
}
echo $count;
++$count;
echo get_count();
echo get_count();
?>
答案:501
分析:首先思考全局变量 对全局变量操作不影响局部变量 所以第一次输出是5 当++之后 数值变为6 函数内部是静态局部变量 静态变量由于常驻内存 所以用完不会被释放 所以两次调用结果为 0 1
一、基础题
1. 写出如下程序的输出结果
<?
$str1 = null;
$str2 = false;
echo $str1==$str2 ? '相等' : '不相等';
$str3 = '';
$str4 = 0;
echo $str3==$str4 ? '相等' : '不相等';
$str5 = 0;
$str6 = '0';
echo $str5===$str6 ? '相等' : '不相等';
?>
答案: 相等 相等 不想等
分析:在php中基础类型像 null,false,'',0,""等被php处理后他们的值是相等的,如果empty函数判断这些 也都是true 第三个由于是对类型也进行了判断 所以不相等
2. 写出如下程序的输出结果
<?
$a1 = null;
$a2 = false;
$a3 = 0;
$a4 = '';
$a5 = '0';
$a6 = 'null';
$a7 = array();
$a8 = array(array());
echo empty($a1) ? 'true' : 'false';
echo empty($a2) ? 'true' : 'false';
echo empty($a3) ? 'true' : 'false';
echo empty($a4) ? 'true' : 'false';
echo empty($a5) ? 'true' : 'false';
echo empty($a6) ? 'true' : 'false';
echo empty($a7) ? 'true' : 'false';
echo empty($a8) ? 'true' : 'false';
?>
答案: 只有 6 8 返回false 其他都是true
分析:在php中基础类型像 null,false,'',0,"",'0'等被php处理后他们的值是相等的,如果empty函数判断这些 也都是true 6由于是一个null字符串 8是一个含有一个子元素的数组
<?
$test = 'aaaaaa';
$abc = & $test;
unset($test);
echo $abc;
?>
答案: aaaaaa
分析:在php中&地址符号引用 其实是引用的对象副本 当unset之后 并没有删除副本 所以仍然是aaaaaa
4. 写出如下程序的输出结果
<?
$count = 5;
function get_count(){static $count = 0;
return $count++;
}
echo $count;
++$count;
echo get_count();
echo get_count();
?>
答案:501
分析:首先思考全局变量 对全局变量操作不影响局部变量 所以第一次输出是5 当++之后 数值变为6 函数内部是静态局部变量 静态变量由于常驻内存 所以用完不会被释放 所以两次调用结果为 0 1
阅读全文
0 0
- 关于php基础类型的一些探讨
- Java基本类型的一些问题探讨
- 关于freelist的一些深入的探讨
- 关于回滚段与事务的一些探讨
- 关于UDP网络游戏服务器的一些探讨
- 关于DOM的一些实例探讨
- 关于数组指针的一些探讨
- 关于索引访问的一些探讨
- 关于WebView的一些用法探讨
- 关于android 电池的一些实用性探讨
- 关于seo写作内容的一些探讨
- 关于seo写作内容的一些探讨
- 关于malloc(0) 的一些探讨
- php关于支付宝支付的探讨
- 对C++中类型转换的一些探讨
- 关于一些的注解类型
- 关于一些类型的比较
- 探讨PHP引用&符号的一些注意问题
- Python-字符串
- c语言中的#ifndef、#def、#endif等宏是什么意思
- Drools入门-----------环境搭建,分析Helloworld
- drools入门(二)-----规则引擎Drools解决汽水问题
- ButterKnife源码阅读
- 关于php基础类型的一些探讨
- Java规则引擎与其API(JSR-94)
- 原型与继承
- 规则引擎需求(捕捉业务规则需求,将需求转换为规则引擎)
- 上海-悠悠的测试教程
- 使用 Drools 规则引擎实现业务逻辑
- Oracle在2011年取得的Java主要成就
- DOM--(Element)
- 对连续数值进行指定方式离散化,计算分布,用cut函数