php中获取所在全局变量方法

 更新时间:2016年11月25日 15:09  点击:1376

$globals --- 保存所有全局变量(只在当前页面中的) get_defined_vars() --- 返回由所有已定义变量所组成的数组(包括全局变量,超全局变量等) get_defined_constants() --- 返回由所有已定义常量所组成的数组

function cleanglobal($global_array, $arg, $specialchars = true, $default = null) {
if(key_exists($arg, $global_array) && $global_array[$arg] != null && $global_array[$arg] != "") {
if($specialchars) {
return htmlspecialchars($global_array[$arg]);
} else {
return $global_array[$arg];
}
} else {
return $default;
}
}


table of contents
superglobals — superglobals are built-in variables that are always available in all scopes
$globals — references all variables available in global scope
$_server — server and execution environment information
$_get — http get variables
$_post — http post variables
$_files — http file upload variables
$_request — http request variables
$_session — session variables
$_env — environment variables
$_cookie — http cookies
$php教程_errormsg — the previous error message
$http_raw_post_data — raw post data
$http_response_header — http response headers
$argc — the number of arguments passed to script
$argv — array of arguments passed to script

 

php教程中checkbox值获取,显示,多选值获取

最简单checkbox获取值代码

<html>
<head>
<title>checkbox demo</title>
</head>
<body>
<h1>checkbox demo</h1>

<h3>demonstrates checkboxes</h3>
<form action ="handleformcheckbox.php">

<ul>
  <li><input type ="checkbox" name ="chkfries" value ="11.00">fries</li>
  <li><input type ="checkbox" name ="chksoda"  value ="12.85">soda</li>
  <li><input type ="checkbox" name ="chkshake" value ="1.30">shake</li>
  <li><input type ="checkbox" name ="chkketchup" value =".05">ketchup</li>
</ul>
<input type ="submit">
</form>

</body>
</html>


<!-- handleformcheckbox.php
<html>
<head>
<title>checkbox demo</title>
</head>
<body>
<h3>demonstrates reading checkboxes</h3>
<?
print <<<here
chkfries: $chkfries <br>
chksoda: $chksoda <br>
chkshake: $chkshake <br>
chkketchup: $chkketchup <br>
<hr>

here;

$total = 0;

if (!empty($chkfries)){
  print ("you chose fries <br>");
  $total = $total + $chkfries;
}

if (!empty($chksoda)){
  print ("you chose soda <br>");
  $total = $total + $chksoda;
}

if (!empty($chkshake)){
  print ("you chose shake <br>");
  $total = $total + $chkshake;
}

if (!empty($chkketchup)){
  print ("you chose ketchup <br>");
  $total = $total + $chkketchup;
}

print "the total cost is $$total";

?>
</body>
</html>
-->

实例

<html>
<head>
    <title>using default checkbox values</title>
</head>
<body>
<?php
$food = $_get[food];
$self = htmlentities($_server['php_self']);
if (!empty($food)) {
    echo "the foods selected are:<br />";
    foreach($food as $foodstuf)
    {
        echo "<strong>".htmlentities($foodstuf)."</strong><br />";
    }
}
else
{
    echo ("<form action="$self" ");
    echo ('method="get">
    <fieldset>
        <label>italian <input type="checkbox" name="food[]" value="italian" />
</label>
        <label>mexican <input type="checkbox" name="food[]" value="mexican" />
</label>
        <label>chinese <input type="checkbox" name="food[]" value="chinese"
        checked="checked" /></label>
    </fieldset>
    <input type="submit" value="go!" >');
}
?>
</body>
</html>


多选checkbox

<?php
$options = array('option 1', 'option 2', 'option 3');

$valid = true;
if (is_array($_get['input'])) {
    $valid = true;
    foreach($_get['input'] as $input) {
        if (!in_array($input, $options)) {
            $valid = false;
        }
    }
    if ($valid) {
        //process input
    }
}
?>

实例checkbox多值获取

<html>
<head>
    <title>using default checkbox values</title>
</head>
<body>
<?php
$food = $_get["food"];
if (!empty($food)){
    echo "the foods selected are: <strong>";
    foreach($food as $foodstuff){
        echo '<br />'.htmlentities($foodstuff);
    }
    echo "</strong>.";
}
else {
    echo ('
    <form action="'. htmlentities($_server["php_self"]).'" method="get">
        <fieldset>
            <label>
                italian
                <input type="checkbox" name="food[]" value="italian" />
            </label>
            <label>
                mexican
                <input type="checkbox" name="food[]" value="mexican" />
            </label>
            <label>
                chinese
                <input type="checkbox" name="food[]" value="chinese" checked="checked" />
            </label>
        </fieldset>
        <input type="submit" value="go!" />
    </form> ');
    }
?>
</body>
</html>

使用substr_count()函数检索字符出现的次数
    获取指定字符在字符串中出现的次数
    语法:substr_count(haystack,needle)
    使用substr_count()函数获取特定字符在字符串中出现的次数实例如下:

 <?php教程
echo substr_count(“zero的php自学手册”,”的”);
echo “<br>”;
echo substr_count(“www.111cn.net”,”o”);
echo “<br>”;
echo substr_count(“1033114118′,”1′);
?>

实例结果:
1
2
5

参数 描述
string 必需。规定要检查的字符串。
replacement 必需。规定要插入的字符串。
start 可选。规定在字符串中何处开始搜索。
charlist 可选。规定搜索的长度。

一、变量的赋值

变量声明后就可以给其赋值,有两种方式:值赋值和引用赋值。
1、值赋值
$color = "red" ;
$sum = 12+"15" ; /* $sum = 27 */

2、 若希望两个变量指向一个值的同一个副本,则需要通过引用赋值。
引用赋值
所创建的变量与另一个变量引用的内容相同,如果多个变量引用了同一个内容,修改其中任意一个变量,在其余的变量上都将有所反映。
例子:
<?php教程
$value1 = "hello" ;
$value2 = &value1 ; /*$value1 and $value2 both equal "hello" .*/
$value2 = "goodbye" ; /*$value1 and $value2 both equeal "goodbye". */
?>

二、变量的作用域
php脚本的任何位置都可以声明变量,但声明变量的位置会大大影响访问变量的范围。这个可访问的范围称为作用域(scope)。
php变量的4中作用域:
△ 局部变量
△ 函数参数
△ 全局变量
△ 静态变量
1、局部变量
在函数中声明的变量认为是局部变量,只能在函数中引用,退出声明变量的函数时,该变量及相应的值就会撤销。消除了导致全局访问的变量被有意或无意修改的可能性。

$x = 4 ;
function assignx ( ) {
$x = 0 ;
print "$x inside function is $x . <br>" ;
}
assignx ( ) ;
print "$x outside of function is $x . <br>" ;
代码的执行结果为:
$x inside function is 0 .
$x outside function is 4 .

2、函数参数
php和其他编程语言一样,任何接受参数的函数都必须在函数首部中声明这些参数。虽然这些参数接受函数外部的值,但退出函数后就无法再访问这些参数。(按引用传递的参数除外)
例如:
function x10 ( $value ) {
$value = $value * 10 ;
return $value ;
}
函数执行完毕,参数即将撤销。

3、全局变量
与局部变量相反,全局变量可以在程序的任何位置访问。当在函数中改变全局变量时,需要在该函数中将变量显示地生命为全局变量,只要在函数中的该变量前加上global即可。
例如:
$somevar = 15 ;
function addit ( ) {
global $somevar ;
$somevar ++ ;
print "somevar is $somevar" ;
}
addit ( ) ;
$somevar 显示的值应为16 ,但是,若去掉 global $somevar ; 这行,变量$somevar 将被隐含的设置为0,再加1 ,最后显示的值就是1 。
声明全局变量的另一方法是使用php的$global数组,如下:
$somevar = 15 ;
function addit ( ) {
$globals[ 'somevar' ]++ ;
}
addit ( ) ;
print "somevar is ". $globals[ 'somevar' ] ;
返回值如下: somevar is 16 .

4、静态变量
静态(static)作用域。普通变量的函数参数在函数结束时会撤销,但静态变量在函数退出时不会丢失值,并且再次调用此函数时还能保留这个值。在汴梁明前加上关键字 static 就可以声明一个静态变量。
static $somevar ;
考虑一个例子:
function keep_track ( ) {
static $count = 0 ;
$count ++ ;
print $count ;
print "<br>" ;
}
keep_track ( ) ;
keep_track ( ) ;
keep_track ( ) ;
keep_track ( ) ;
若$count 没有被指明为静态(相应的,$count就是一个局部变量),输出将会是
1
1
1
1
因为$count是静态的,它会在每次执行函数时保留前面的值。输出如下:
1
2
3
4
静态作用域对于递归函数很有用。递归函数(recursive function)是一个功能强大的编程概念,它是一个可以重复调用自身的函数,直到满足某个条件为止。

5、 php的超级全局变量
php提供了很多有用的预定义变量,可以在执行脚本的人和位置访问,用于提供大量与环境有关的信息。可以通过这些变量获得关于当前用户会话、用户操作系统环境和本地操作环境等详细信息。php会创建部分变量,而其他许多变量的可用性和值则取决于操作系统和web服务。

输出所有预定义变量:
foreach ( $_server as $var => $value ) {
echo "$var => $value <br>" ;
}
显示用户的ip地址:
print "hi!your ip address is ".$_server[ ' remote_addr' ] ;

 

1、 使用 print_r ( $array/$var )

print_r()函数 ,只用于输出数组。

php教程 中 print_r 函数输出的数组内容不排列。为了让它输出的好看些。如,数组有多层。分段列出,我们可以这样写:

echo "<pre>";
print_r xxxxx;
echo "<pre>";

print 是打印的意思,而r则取自array的单词,那么该函数的功能就是打印数组内容,它既可以打印数组内容,也可以打印普通的变量。
print_r ($_request) ;
print_r ($_get) ; /* 打印使用get方法传递的表单内容*/
print_r($_post) ; /* 打印使用表单post方法传递过的数组内容*/

2、 使用 var_dump ($object/$array/$var)
var_dump -- 打印变量的相关信息
描述

void var_dump ( mixed expression [, mixed expression [, ...]])


此函数显示关于一个或多个表达式的结构信息,包括表达式的类型与值。数组将递归展开值,通过缩进显示其结构。

提示: 为了防止程序直接将结果输出到浏览器,您可以使用输出控制函数(output-controlfunctions)来捕获函数的输出,并把它们保存到一个 string 型的变量中。
 
var_dump($db) ; /*打印$db数据库教程连接对象的内容*/
var_dump($filehandle) ; /*打印文件句柄对象的内容*/
var_dump($smarty) ; /*打印smarty模板对象*/

3、 使用 var_export($object/$array/$var)
mixed var_export ( mixed expression [, bool return])


此函数返回关于传递给该函数的变量的结构信息,它和 var_dump() 类似,不同的是其返回的表示是合法的 php 代码。

您可以通过将函数的第二个参数设置为 true,从而返回变量的表示。

比较 var_export() 和 var_dump().


例如:
复制代码 代码如下:
<?php
$a = array ( 1,2, array("a","b","c")) ;
var_export ($a) ;
echo "<br>" ;
$v = var_export ( $a , true) ;
echo $v ;
?>

上例中,$v = var_export ( $a , true) 表示返回的是php的源代码,可以直接用php脚本的数组文件中。
相关说明:
以上三个函数都可以打印对象的值、系统函数值以及数组的内容;
 echo 、print、printf可以打印变量内容,但不能显示数组及系统超级变量数组;
 print_r 和 var_dump不仅可以打印数组、标量变量,还可以打印对象的内容;
 var_dump语句不仅能打印变量、数组内容,还可以显示布尔变量和资源(resource)的内容;
 var_export 函数返回关于传递给该函数的变量的结构信息,和 var_dump()函数类似,不同的是其返回的内容是合法的php代码。

[!--infotagslink--]

相关文章

  • PHP成员变量获取对比(类成员变量)

    下面本文章来给大家介绍在php中成员变量的一些对比了,文章举了四个例子在这例子中分别对不同成员变量进行测试与获取操作,下面一起来看看。 有如下4个代码示例,你认...2016-11-25
  • php 获取用户IP与IE信息程序

    php 获取用户IP与IE信息程序 function onlineip() { global $_SERVER; if(getenv('HTTP_CLIENT_IP')) { $onlineip = getenv('HTTP_CLIENT_IP');...2016-11-25
  • php获取一个文件夹的mtime的程序

    php获取一个文件夹的mtime的程序了,这个就是时间问题了,对于这个问题我们来看小编整理的几个例子,具体的操作例子如下所示。 php很容易获取到一个文件夹的mtime,可以...2016-11-25
  • C#变量命名规则小结

    本文主要介绍了C#变量命名规则小结,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-09-09
  • R语言 如何删除指定变量或对象

    这篇文章主要介绍了R语言删除指定变量或对象的操作方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-05-06
  • 如何获取网站icon有哪些可行的方法

    获取网站icon,常用最简单的方法就是通过website/favicon.ico来获取,不过由于很多网站都是在页面里面设置favicon,所以此方法很多情况都不可用。 更好的办法是通过google提供的服务来实现:http://www.google.com/s2/favi...2014-06-07
  • jquery如何获取元素的滚动条高度等实现代码

    主要功能:获取浏览器显示区域(可视区域)的高度 : $(window).height(); 获取浏览器显示区域(可视区域)的宽度 :$(window).width(); 获取页面的文档高度 $(document).height(); 获取页面的文档宽度 :$(document).width();...2015-10-21
  • 解决vue的router组件component在import时不能使用变量问题

    这篇文章主要介绍了解决vue的router组件component在import时不能使用变量问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-07-27
  • jquery获取div距离窗口和父级dv的距离示例

    jquery中jquery.offset().top / left用于获取div距离窗口的距离,jquery.position().top / left 用于获取距离父级div的距离(必须是绝对定位的div)。 (1)先介绍jquery.offset().top / left css: 复制代码 代码如下: *{ mar...2013-10-13
  • Jquery 获取指定标签的对象及属性的设置与移除

    1、先讲讲JQuery的概念,JQuery首先是由一个 America 的叫什么 John Resig的人创建的,后来又很多的JS高手也加入了这个团队。其实 JQuery是一个JavaScript的类库,这个类库集合了很多功能方法,利用类库你可以用简单的一些代...2014-05-31
  • Vue select 绑定动态变量的实例讲解

    这篇文章主要介绍了Vue select 绑定动态变量的实例讲解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-10-23
  • 深入理解PHP变量的值类型和引用类型

    在PHP中,大部分变量类型,如字符串,整型,浮点,数组等都是值类型的,而类和对象是引用类型,在使用的时候,需要注意这一点。看到网友在讨论PHP的&符号,要彻底理解它的用法,就有必要讨论一下变量的两种形式。PHP的变量在内存中是这样...2015-10-23
  • C#获取字符串后几位数的方法

    这篇文章主要介绍了C#获取字符串后几位数的方法,实例分析了C#操作字符串的技巧,具有一定参考借鉴价值,需要的朋友可以参考下...2020-06-25
  • jquery获取tagName再进行判断

    如果是为了取到tagName后再进行判断,那直接用下面的代码会更方便: $(element).is('input') 如果是要取到标签用作到别的地方,可以使用一下代码: $(element)[0].tagName 或: $(element).get(0).tagName...2014-05-31
  • DOM XPATH获取img src值的query

    复制代码 代码如下:$nodes = @$xpath->query("//*[@id='main_pr']/img/@src");$prurl = $nodes->item(0)->nodeValue;...2013-10-04
  • PHP 如何获取二维数组中某个key的集合

    本文为代码分享,也是在工作中看到一些“大牛”的代码,做做分享。 具体是这样的,如下一个二维数组,是从库中读取出来的。 代码清单: 复制代码 代码如下: $user = array( 0 => array( 'id' => 1, 'name' => '张三', 'ema...2014-06-07
  • java中String类型变量的赋值问题介绍

    下面小编就为大家带来一篇java中String类型变量的赋值问题介绍。小编觉得挺不错的。现在分享给大家,给大家一个参考。...2016-03-28
  • php获取汉字拼音首字母的方法

    现实中我们经常看到这样的说明,排名不分先后,按姓名首字母进行排序。这是中国人大多数使用的排序方法。那么在php程序中该如何操作呢?下面就分享一下在php程序中获取汉字拼音的首字母的方法,在网上搜到的大多数是有问题的...2015-10-23
  • 详解ES6实现类的私有变量的几种写法

    这篇文章主要介绍了详解ES6实现类的私有变量的几种写法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-02-10
  • C#不同类型的成员变量(字段)的默认值介绍

    虽然C#编译器为每个类型都设置了默认类型,但作为面向对象的设计原则,我们还是需要对变量进行正确的初始化。实际上这也是C#推荐的做法...2020-06-25