免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2195 | 回复: 1
打印 上一主题 下一主题

php中的isset()函数的用法 以及 global的用法 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-12-01 15:00 |只看该作者 |倒序浏览
php中的isset()函数的用法 以及 global的用法









isset

(PHP 3, PHP 4, PHP 5 )

isset -- 检测变量是否设置

描述



bool isset ( mixed var [, mixed var [, ...]])



如果 var 存在则返回 TRUE,否则返回 FALSE。

如果已经使用 unset() 释放了一个变量之后,它将不再是 isset()。若使用 isset() 测试一个被设置成 NULL的变量,将返回 FALSE。同时要注意的是一个 NULL 字节("\0")并不等同于 PHP 的 NULL 常数。

警告: isset() 只能用于变量,因为传递任何其它参数都将造成解析错误。若想检测常量是否已设置,可使用defined
  1. () 函数。



  2. Php代码  
  3. <?php   
  4.   
  5. $var = '';   
  6.   
  7. // 结果为 TRUE,所以后边的文本将被打印出来。   
  8. if (isset($var)) {   
  9.      print "This var is set set so I will print.";   
  10. }   
  11.   
  12. // 在后边的例子中,我们将使用 var_dump 输出 isset() 的返回值。   
  13.   
  14. $a = "test";   
  15. $b = "anothertest";   
  16.   
  17. var_dump( isset($a) );      // TRUE   
  18. var_dump( isset ($a, $b) ); // TRUE   
  19.   
  20. unset ($a);   
  21.   
  22. var_dump( isset ($a) );     // FALSE   
  23. var_dump( isset ($a, $b) ); // FALSE   
  24.   
  25. $foo = NULL;   
  26.   
  27. var_dump( isset ($foo) );   // FALSE   
  28.   
  29. ?>  

  30. <?php

  31. $var = '';

  32. // 结果为 TRUE,所以后边的文本将被打印出来。
  33. if (isset($var)) {
  34.      print "This var is set set so I will print.";
  35. }

  36. // 在后边的例子中,我们将使用 var_dump 输出 isset() 的返回值。

  37. $a = "test";
  38. $b = "anothertest";

  39. var_dump( isset($a) );      // TRUE
  40. var_dump( isset ($a, $b) ); // TRUE

  41. unset ($a);

  42. var_dump( isset ($a) );     // FALSE
  43. var_dump( isset ($a, $b) ); // FALSE

  44. $foo = NULL;

  45. var_dump( isset ($foo) );   // FALSE

  46. ?>
复制代码
以上内容转载自:http://zhanglulu33.blog.163.com/ ... 954201015104949803/


以下内容转载自:http://www.cnblogs.com/cruiseblog/articles/1814144.html


java中要引入一个变量,可以通过参数的形式传递, 因为java中用的是面向对象的编程方式, 但php中存在着大量的面向过程的东西,比如,在一个function中引入外部的一个变量,一般情况下,这个外部的变量不通过参数传进来,而是直接 通过global引入进来。而这个global却又没有全局化的意思,做个代码的测试。


Php代码
  1. $mk ="Test value";  <br>   
  2.   
  3. function initValue()  <br> {   
  4. <br>      
  5. $va =$mk;     
  6. <br>      
  7. echo $va;     
  8. <br>   
  9. }     
  10. <br><br>  

  11. $mk ="Test value";  <br>

  12. function initValue()  <br> {
  13. <br>   
  14. $va =$mk;  
  15. <br>   
  16. echo $va;  
  17. <br>
  18. }  
  19. <br><br>
复制代码
运行结果是:- Undefined variable: mk  


因为$mk只是在方法中定义的,所以与方法前定义的$mk是不同的变量,$mk没有赋值所以报错。

如果是用global进行声明,则可以调用函数外的变量。




Php代码
  1. $mk ="Test value";  <br> function initValue()  <br> {  <br>    global $mk;  <br>    $va =$mk;  <br>  

  2. $mk ="Test value";  <br> function initValue()  <br> {  <br>    global $mk;  <br>    $va =$mk;  <br>Php代码  
  3. echo $va;  <br> }  <br>  initValue();  <br>  

  4.     echo $va;  <br> }  <br>  initValue();  <br>  
复制代码
运行结果为:Test value, 这里用global引入了函数外部的$mk变量.

为了测试一下global在此处没有全局化变量的意思,我再做了一个测试。




Php代码
  1. $mk ="Test value";  <br> function initValue()  <br> {  <br>    global $mk;  <br>    $va =$mk;  <br>  

  2. $mk ="Test value";  <br> function initValue()  <br> {  <br>    global $mk;  <br>    $va =$mk;  <br>Php代码  
  3. echo $va;  <br> }  <br> function initValue2()  <br> {  <br>   $vc =$mk;  <br>   echo $vc;  <br> }  

  4.     echo $va;  <br> }  <br> function initValue2()  <br> {  <br>   $vc =$mk;  <br>   echo $vc;  <br> }Php代码  
  5. <br> initValue();  <br> initValue2();  <br>  

  6.   <br> initValue();  <br> initValue2();  <br>
复制代码
运行结果是: Test value 和- Undefined variable: mk, 这说明即使在使用了global也只是有函数中有效,所以此处的global只是引入上部变量的作用




虽然当前面向过程的php开发还占有极大一部分市场,但个人确实不太看好它,一个变量可以在n多个页面中使用,而想知道是哪个页面引入的可能得花半个小时去找(有点夸大了点), 维护起来是一种折磨。

论坛徽章:
0
2 [报告]
发表于 2011-12-21 22:13 |只看该作者
有爱的楼主  抱走鸟
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP