超全局数组及外部变量

局部,全局(外部),static等变量详解 首先,必须明白一个程序是包含若干个源文件,每个源文件又是包含若干个函数,每个源文件、函数中又定义了若干个变量。但是每个变量都有自己的作用范围,也就是自己的作用域。只有在作用域内才可以访问变量。 变量的有效范围称为变量的作用域( scope)。归纳起来,变量有4种不同的作用域:文件作用域( file scope)、函数作用域( function scope)、块作用域(block sc... 阅读详情

超全局数组:

$_POST      post传值

$_GET       get传值,可以在浏览器的地址栏来直接传值

注意:post发送的内容只能用post来接收,而get发送的内容只能用get接收

$_REQUEST   post与get模式都可以接收到

$_SERVER    获取全局的信息

$_SERVER['HTTP_REFERER'];  //上级来源

$_SERVER['HTTP_ACCEPT_LANGUAGE']; //字符集

$_SERVER['HTTP_HOST'];  //当前服务器的IP地址

$_SERVER['REMOTE_ADDR'];  //哪台主机访问,没有获取IP记录的,只有它.

$_SERVER["SERVER_ADMIN"];     //管理员邮箱

 

预定义常量:(--就是可以直接使用的常量,直接echo可以输出--)

__FILE__:当前文件在服务器的什么地址上面;

__LINE__:对应的行号;

__FUNCTION__:当前函数名;

__CLASS__:当前的类名;

__METHOD__:当前的方法;

PHP_OS: 当前操作系统的版本;

PHP_VERSION: 当前的PHP的版本;

数据类型:有时候我们只需要获取数据的类型,这时我们就需要判断类型的函数

判断变量类型:

gettype(); 

$a=10;

echo gettype($a);
 
结果为integer(整型)

注意:gettype();这个函数以后尽量少用;

因为:1、double,real 类型都是属于浮点类型的,将来都会被统一成float。

2、功能强大效率低下,花费的时间比较多。

is_type();  //系列的函数

/****************************************************************************************/

is_float()类型: 判断是不是浮点型

$b=3.2;

 if(is_float($b)){

echo '真';

}else{

echo '假';

}

结果为:真

/****************************************************************************************/

is_int()类型:判断是不是整型

  $a=99; 

if(is_int($a)){  

echo '真........'; 

}else{  

echo '假!!!!!!!!'; 

} 

//结果是:真

/****************************************************************************************/

is_bool()类型:   //是不是布尔型

$a=false;

if(is_bool($a)){

 echo '真........';

}else{ 

echo '假!!!!!!!!';

}
 结果为:真.......

/****************************************************************************************/


is_string()类型:  //是不是字符串

$a='abc';

 if(is_string($a)){ 

echo '真........';

}else{

  echo '假!!!!!!!!';

}


     结果为真..........

/****************************************************************************************/


is_array()类型:   //是不是数组
 

<?php 

$a=array(1,2,3,4,5,6,);

if(is_array($a)){ 

echo '真........';

}else{  

echo '假!!!!!!!!';

}
 

 结果为真.........

/****************************************************************************************/


is_null()类型:    //是不是空

 $a=null;

if(is_null($a)){ 

echo '真........'; 

}else{ 

echo '假!!!!!!!!';

}

结果为:真

/****************************************************************************************/

is_scalar()类型:  //是不是标量:

标量为布尔,字符串,浮点,字符串四种

$a=true;  //注意这是布尔型,是标量

 if(is_scalar($a)){

  echo '真........';

 }else{

  echo '假!!!!!!!!';

 }

结果为:真

is_object()类型:  //是不是对象

is_numeric()类型:  //是不是数字

is_callable()类型:  //是不是函数名

 

自动类型转换:

发生情况:

第一, 在运算的时候

第二, 在判断的时候

当bool值与整型相运算的时候:

1,将bool值的真变为整型的1来执行

2,将bool值的假变为整型的0来执行

 

当bool值与浮点进行运算的时候:

1, bool值的真会变为浮点的1.0来参与运算

2,  bool值的false会变为浮点的0.0

当字符串与一个整型或浮点相加的时候:

1, 会将后面的字符串全部干掉

2, 只会将前面的数值和对应的整型或浮点相运算

3, 如果字符串参与运算的时候必须要数值放在最前面。如果放到中间或者后面,会视为0来运算

        NOTICE: 空与整型为浮点运算的时候结果会为0来参与运算

强制类型转换:【注意】
方法 (一):

1,intval  floatval   strval  用上这三个函数,将其变为整型或者浮点或者字符串

 

例子:剩余两个函数用法一样

$one=1;

$t=floatval($one);

var_dump($t);

方法 (二):

2,在值前加上    (类型)$one  example:  (int)1.1

 

$a=(bool)$true;

$b=(int)$_GET['id'];

 

方法 (三):
使用settype函数,来完成强制类型转换:
 

1、需要向settype里面传进去一个变量,后面第二个参数直接传入对应的类型。

2、返回操作成功还是操作未成功。直接改变变量的类型和值

3、Settype(变量,’null’)等价于unset(变量)

4、空转换为字符串,会变为空字符串

 
 

强制类型转换:

如果是浮点转为对应的整型,将小数点后面全部干掉。不是四舍五入

将字符串转为bool值的时候,空字符串和字符串的’0’会变为布尔值的假

字符串变为整型,会将最前面的数值保留后面的字符串全干掉

直接用(null)(resource) 这样会报错啊,语法不正确【特殊类型不能采用这种方式来进行强制类型转换】

 

AIPex:AI + 自然语言驱动的浏览器自动化扩展 AIPex是一款革命性的Chrome扩展,通过AI技术实现自然语言驱动的浏览器自动化。它支持30多种自动化工具,包括智能标签页管理(分组、切换、批量操作)、页面内容提取(文本、链接、元数据)、交互元素操作(点击、滚动)以及表单智能填写等功能。用户只需用自然语言下达指令,即可快速完成复杂的浏览器操作,大幅提升工作效率。AIPex特别适合需要处理大量重复性网页操作的用户,如数据分析师、产品经理等。 阅读详情

相关推荐

BUUCTF--[OGeek2019]babyrop

才学习了基本的ROP流程,到处找题练,不过也没做出来几道题,以这道32位的题作为例题吧。 这道题是BUUCTF上pwn练习题里的[OGeek2019]babyrop。 代码审计 老规矩先checksec一下: 没有canary保护,nx保护开启排除shellcode可能性,FULL RELEO为地址随机化。 观察主函数,先设定了一个闹铃,到时间就会强制退出程序,解除闹铃的方法在上一篇博客中提到过了, 这道题中闹铃函数依然对我们解题起不到什么干扰作用。 主函数的思路大概是:生成一个随机数,把这个随机数作为

N1rvana的博客 6009

php中所有超全局数组,PHP超全局数组(Superglobals)介绍

PHP超全局数组(Superglobals)介绍概述想做一个微信的公众平台,阅读了微信官方给的网址接入的示例代码,发现有个问题好像一直都是半知半解的,就是在类里边直接使用$_GET。仔细查了下关于这方面的知识,发现PHP中这部分的基础知识掌握的不是很牢靠。变量的作用域提到PHP的超全局数组,就不能不说下变量的作用域。变量的作用域是任何一门编程语言中都有的概念,也是必须掌握的。关于PHP中的变量作用...

weixin_36023909的博客 824

从零搭建Python接口自动化测试框架:pytest+requests+Allure实战指南

接口自动化测试是现代软件工程中保障交付质量、提升测试效率的核心实践。其基本原理是通过脚本模拟客户端请求,对服务端接口进行自动化的功能验证、性能探测与回归测试,从而替代重复的手工操作。在技术实现上,Python凭借其简洁语法和丰富的生态,成为构建此类框架的主流选择,其中pytest测试框架、requests HTTP库和Allure报告工具构成了技术栈的黄金组合。这套技术方案的价值在于,它能将测试用例数据(如YAML文件)与执行逻辑分离,实现数据驱动测试,并通过持续集成(如Jenkins)无缝融入DevOps

weixin_31822733的博客 378

C语言中全局数组外部引用的小问题

我们知道,在 C 语言中,数组名是数组的首地址,是一个指针常量,很多时候我们可以将数组名当指针来用,但在全局变量的外部引用中,全局数组和全局指针变量的引用方式还是有区别的。 对于全局数组,需要按数组声明的方式来引用,例如: extern int arr[]; 对于全局指针,按指针声明的方式来引用,例如: extern int *pointer; 如果将全局数组按指针声明的方式来引用,编译可能不会报错,但在执行的时候会出现意想不到的问题,最常见的应该就是段错误,例如: 文件 file1.c 中有如

choumin的专栏 4144

金蝶云星空初级实施认证考题

Q4.[单选题] (1.5分) 总账中的多账簿账表主要是基于什么进行查看的Q47.[多选题] (2.5分) 销售订单的收款计划页签勾选预收之后,预收控制环节可以控制哪些节点?

m0_51994557的博客 3122

ubuntu虚拟机搭建OP-TEE

在网上找了一些搭建OP-TEE的过程,模仿着进行搭建,结果有好多报错,为了方便自己以后重新搭建,所以将整个过程记录下来。

weixin_44213847的博客 1001

PHP:超全局数组

** ** ** ** ** ** ** ** **

weixin_43731793的博客 375

基于Simulink进行步进电机的重复控制仿真建模

目的:通过引入一个周期延迟环节来补偿系统的周期性误差,从而提高系统对周期性参考信号或扰动的跟踪性能。方法内部模型原理:在控制器中嵌入一个与周期性信号相关的模型(例如周期延迟环节),以实现对周期性误差的零稳态误差控制。滤波器设计:为了避免高频噪声放大,通常会在重复控制器中加入低通滤波器。优势对周期性信号具有良好的跟踪性能。不需要精确的数学模型即可实现高性能控制。挑战:需要合理设计重复控制器的参数以避免系统不稳定。

MHD0815的博客 382

再谈全局数组的外引用

test.cpp文件内容如下: char g_szTest[100] = "original"; 现在, 我要在main.cpp中引用这个数组怎么办呢? 肯定不能把char g_szTest[100] = "original";放到test.h文件中, 然后用main.cpp来包含test.h啊, 这样容易形成编译碰撞, 也是应该禁止的。 那怎么办? 其实, 我们可以

认知 行动 坚持 8139

OpenRubrics:自动化评估工具优化LLM对齐效果

在大型语言模型(LLM)应用中,模型输出与人类价值观的对齐是关键挑战。传统人工反馈强化学习(RLHF)依赖大量标注,成本高且一致性差。OpenRubrics作为开源工具,通过结构化准则实现自动化评估,显著提升效率。其核心原理是将主观评价转化为可量化的多维指标,支持动态权重调整,并兼容主流RLHF框架。该工具在降低标注成本的同时,通过Fleiss' Kappa系数等指标保证评估一致性,适用于多语言和医疗等专业领域,为LLM对齐提供了工程化解决方案。

weixin_28730037的博客 359

月薪2万+的网络工程师,到底藏着哪些“绝活”?

在IT圈,网络工程师是个既神秘又硬核的职业。月薪2万+的网工,早已不是只会拉网线、改IP的“IT民工”,而是掌握了一身“绝技”的技术大牛。他们能让企业网络如丝般顺滑,面对宕机临危不乱,还能用自动化脚本批量搞定上百台设备。想知道这些高薪网工的秘密武器是什么?今天,我就以一个老网工的视角,结合自己和同行们的实战经验,扒一扒那些月薪2万+的网络工程师都身怀哪些绝技。如果你也想挤进高薪行列,不妨参考参考!

网络技术联盟站 359

php函数体,php函数体里调用外部变量

Warning: strncmp() has been disabled for security reasons in /www/web/default/blog/public_html/wp-includes/formatting.php on line 117Warning: strncmp() has been disabled for security reasons in /www...

weixin_32612253的博客 246

FPGA经验谈系列文章——3、逻辑级数

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 Xilinx FPGA开发tips系列——前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结 前言 提示:这里可以添加本文要记录的大概内容: 例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。 提示:以下是本篇文章正文内容,下面案例可供参考 一、pandas是什么? 示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的

gzy0506的博客 1万+

php unset()函数

function destroy_foo() { global $foo; // unset($foo); echo $foo; } $foo = 'bar'; destroy_foo(); echo $foo; 输出:barbar function destroy_foo() { global $foo; unset($foo); } $foo...

qq_41082746的博客 288

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

PHP开发 基础知识总结01

涉及知识点如下:①引用变量②常量及数据类型③运算符④流程控制⑤自定义函数及内部函数

BaoYi的博客 260

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

php 全局方法,PHP全局函数

全球都是邪恶的对于global关键字以及从本地作用域到全局范围(静态、单列、注册表、常量)的所有内容。你不想用它们。函数调用不应该依赖于外部的任何东西。functionfn(){global$foo;//nevereverusethat$a=SOME_CONSTANT//donotusethat$b=Foo::SOME_CON...

weixin_35249119的博客 1032

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

$_GLOBALS超全局数组和global定义的全局变量区别?

全局变量:主程序中定义的变量(函数外部),只能在主程序中使用,在函数内部不能调用     背景:解决在函数内部调用全局变量的问题 解决方法:   1.在函数内部声名全局变量    <?php public $var=1; function fun(){global $var; echo $var; } ?> 输出 1 ...

weixin_30872671的博客 194

PHP开发——超全局数组变量

概述   l JS中的变量分两类:局部变量、全局变量。   l PHP中的变量分三类:局部变量、全局变量、超全局变量。   l 局部变量:在函数内部声明的变量,就是局部变量。函数执行完毕,局部变量就消失了。   l 全局变量:在函数外部声明的变量,就是全局变量。       在PHP中,全局变量,在函数中不能用。网页执行完毕,全部变量才会消失。   l 超全局变量:...

dengwei5160的博客 323

全局变量php数组,PHP预定义超全局数组变量小结

本文实例讲述了PHP预定义超全局数组变量。分享给大家供大家参考,具体如下:1.PHP 预定义的超全局变量数组特性:a.特殊的数组,操作方式没有区别b.不用声明,php脚本中默认存在,因为在php中不用定义,所以在自定义变量是应避免和预定的全局变量同名c.在全局范围内自动生效,即在函数中直接就可以使用,不用使用global关键字访问2.超全局变量数组a.$_SERVER 服务器变量$_SERVER ...

weixin_29229261的博客 369

外部变量与全局变量

问题引出原因:         在一个头文件a.h中定义一些变量x,在其他.c文件中(b.c,c.c)要用到,在两个*.c中包含a.h以后,        编译时总是提示error:multiple definition of x。 解决思路:         当时本想采用extern变量的方法,但考虑到会使用sizeof() 计算extern数组的大小,因此无法使用extern,最后只能

FrogInaWell 1万+

预定义超全局数组变量

超全局数组变量函数的介绍与使用以及文件上传一句话木马的利用

一个努力学习网安的小牛马 203

C语言 day4 数组作为主要参数 局部变量 全局变量 变量的存储和引用,内部外部函数

1.数组元素作为函数实参 2.数组名作为函数实参 3.用多维数组名作为函数实参 int a[10];//相当于定义10个变量 a[0]-a[9] 数组元素可以当变量使用。 a[1]=5;//数组元素,当整型变量使用。 a[4]=7;// 数组名作为函数实参 //实参和形参个数相等,类型一致,按顺序对应,一一传递。 //实参变量对形参变量的数据传递是值传递(形参是分配内存的),单向传递。只有实参传...

weixin_45223073的博客 1096

外部变量

外部变量也就是全局变量,是在所有函数(包括主函数 main)之外定义的变量。 在单文件程序中,全局变量的作用域是所在源程序文件。 在多文件程序中,如果希望全局变量的作用域仍只限于所在源程序文件,而不能被其他源程序文件引用,则称为静态全局变量,在定义静态全局变量时须加上关键字static; 如果希望将全局变量的作用域扩展到其他源程序文件,则称为外部变量, 如果文件A要引用文件B中定义的外...

weixin_30293079的博客 1248

php预订义全局数组变量,PHP预定义超全局数组变量小结

本文实例讲述了PHP预定义超全局数组变量。分享给大家供大家参考,具体如下:1.PHP 预定义的超全局变量数组特性:a.特殊的数组,操作方式没有区别b.不用声明,php脚本中默认存在,因为在php中不用定义,所以在自定义变量是应避免和预定的全局变量同名c.在全局范围内自动生效,即在函数中直接就可以使用,不用使用global关键字访问2.超全局变量数组a.$_SERVER 服务器变量$_SERVER ...

weixin_35801556的博客 306

c语言全局外部变量可以作用于多个模块,c语言中全局变量在多个文件中使用

用C语言编写程序的时候,我们经常会遇到这样一种情况:希望在头文件中定义一个全局变量,然后包含到两个不同的c文件中,希望这个全局变量能在两个文件中共用。举例说明:项目文件夹project下有main.c、common.c和common.h三个文件,其中common.h文件分别#include在main.c和common.c文件中。现在希望声明一个字符型变量key,在main.c和common.c中公...

weixin_29334463的博客 1375

二维数组和函数;外部变量和局部变量

二维数组是由若干个一维数组组成的,在内存中,数组是按行存放的,因此,在定义二维数组是,必须指定列数(即一行包含几个元素),由于形参数组与实参数组类型相同,所以它们是由具有相同长度的一维数组所组成的。不能只指定1维(行数)而省略第2维(列数)。函数无法返回多个变量,被迫使用全局变量。输入10个数,找出最大数以及最大数的下标。外部变量、全局变量和局部变量。

weixin_45650620的博客 799
上一篇: PHP基础语法
下一篇: 运算符
普通网友
博客等级 码龄10年 3粉丝 20原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值