PHP变量与常量学习

news/2024/7/4 7:58:29/文章来源:https://www.cnblogs.com/QWD7986/p/18280726
<?php
// php的打印与输出
// 1.echo"显示"输出内容到浏览器 没有返回值
// 2.print'打印' 有返回值 可用于三元运算符中
// var_dump()可以返回变量的完整信息
// 4.print_r()打印输出数组,第二个参数设置为true 可以将变量的信息转换成字符串,
// 不输出到浏览器,只是返回,通常用于线上调试echo 'how you doing?<br>';$res = print'你好';
echo '<hr>';
var_dump($res);echo'<hr>';$tel = 123456789;
//  echo $tel,$tel,tel;
echo $tel . '||' . $tel . '||' . $tel;
//  ob_clean();$arr = ['花生','玉米','火龙果','青苹果',45,63,33];
//echo $arr// Warning:  Array to string conversion in 
echo'<pre>';
print_r($arr);
echo'<hr>';
var_dump($arr);$arr2 = ['uniapp','thinkphp','bootstrap'];
$res = print_r($arr2,true);
file_put_contents('log.txt','调错信息:'.$res);?><!-- 2 -->
<?php//  php变量 8种数据类型 4标量类型 2符合类型(数组,对象) 2特殊类型(null,resource)// 标量类型  布尔型boolean 整形int 字符串string  浮点型float$username = 'admin';$username=123;$username=23.32;$username=true;echo $username;var_dump( $username );//  数组// 索引数组:下表为整型的数组$arr = [1,2,3,4,'admin'];echo '<pre>';var_dump($arr);//  <!-- 关联数组:下标为字符串的数组 -->$info = [ 'uname'=>'chloe', 'email'=>'951242@qq.com','age'=>28,'gender'=>0];var_dump($info);// 数组的访问echo $arr[4].'<br>';echo $info['email'];//  对象 类实例化的结果//  class NBaplayer{ //  }//  $jordan = new NBaplayer//  null  1.表示一个变量没有值 空  // 2.不表示空格 空字符串 零// 3.不区分大小写//   ob_clean();//不起作用?$int = 34;var_dump($int);// 如何声明一个变量为空// 1.$int = null;echo '<br>';var_dump($int);// 2.unset释放变量$username = 'xi xi';  unset($username);@var_dump($username);//resource 资源类型 保存到外部资源的一个引用$handle=fopen('log.txt','w');//   var_dump($handle);//resource(4) of type (stream)// php变量类型转换// 强制类型转换(临时) 应用于url query string parameter//    var_dump($_GEF['page']);//string(1) "2"// 分页数据必须是整型,才能计算偏移量 offset$page = (int)$_GET['$page'];echo'<br>';var_dump($page);if($page === 10){echo'数据正常';}else{echo'非法数据';}$uid = 25;//  var_dump($uid,(string)$uid,(float)$uid);var_dump((array)$uid,((array)$uid)[0]);//  系统自动转换变量类型$foo = '100pages';@$foo += 200;//$foo = $foo+200;var_dump($foo);echo'<hr>';$foo += 12.8;var_dump($foo);@$res = null + '10kg rice';var_dump($res);@$res = 5 + '10kg rice';var_dump($res);$user = ' chloe';//字符串的拼接echo 'how you doing'.$user;echo '<hr>';//  bool类型的转换@var_dump($email);//null// null<===> falseif(!@$email){echo'你好';}$p = $_GET ['page'];echo gettype($p);//stringecho gettype((int)$p);//integer只是临时转换echo gettype($p);//stringecho 'hr';//永远转化变量类型settype($p,'integer');echo gettype($p);//integer//  变量:代码中需要暂存的数据载体 可以复用 按名访问
// php变量命名规则
// 1.变量规则要让你的partner望文生意
// 2.变量名不能以数字开头,可以以字母或者下划线开头后面跟上字母数字下划线
// 4.多个单词组成的变量 itemprice  itemPrice  itemName itenDesc$_3site = 'taobao.com';
echo $_3site;$useername = 'chloe';
$USERNAME = 'admin';echo $USERNAME;// var_dump($username);
// VAR_DUMP($USERNAME);// ECHO SHA1('wwwphpcn');// 变量赋值
// 1.传值赋值
// 2.引用赋值 &// 传值赋值  将源变量$a的值 复制出来一份新的值 内存空间地址给另一个变量$b,修改两个变量的值  互不影响
$a = 45;
$b = $a;printf('$a的值为%d,$b的值为%d<br>',$a,$b);$a = 450;// printf('$a的值为%d,%b的值为%d<br>',$a,$b);// 引用赋值 & 地址引用符:不存在复制操作  引用赋值更加快捷
// 新变量$price2引用/指向了原始变量(空间地址),互相影响$price1 = 8888;
$price2 = &$price1;
printf('$price1的值为%d,$price2的值为%d<ber>',$price1,$price2);$price1 = 7999;
printf('$price1的值为%d,$price2的值为%d<ber>',$price1,$price2);// 变量的检查与释放
// isset()检测变量是否被被定义 存在并且不为null返回true,否则返回false
var_dump(isset($pwd));if(isset($pwd))
{echo'用户密码填写了';
}//empty()检测一个变量是否为空,为空才返回true 不为空返回false
$username = 'admin';
var_dump(empty($username));if(isset($username) && !empty($username))
{echo '用户名存在';
}$token = '';
var_dump(empty($token));//true$token = 0;
var_dump(empty($token));//true$token = false;
var_dump(empty($token));//bool(true)$token = 1;
var_dump(empty($token));//bool(false)$token = true;
var_dump(empty($token));//bool(false)// 释放
// unset()释放掉的变量  变为空// 常量
// 1.固定值,常量不能被从新定义  不能被取消
// 2.常量的命名前不能¥
// 3.常量的明名推荐全部大写
// 4.php全局成员:常量 函数 类 接口 (不接受作用域的限制)
// 变量不是全局变量,严格受作用域的限制// 定义常量
// define()
define('NATION','china');
echo NATION;// Const关键字  字面量
const USER_NOT_EXSIT = '用户不存在';
echo json_encode(['msg'=>USER_NOT_EXSIT],320);printf('国籍:%s',NATION);class User{// 类常量只能用const关键字声明const APP_PATH = "/0802/part1";
}// 常量必须初始化赋值
$height;
const GENDER = '女';// 变量作用域
// 函数体外声名的变量的全局变量
$one = 200;
$two = 300;
function add(int $a,int $b):string
{return $a+$b;
}
//  var_dump(add(1,2));
// var_dump(add($one,$two));function add1()
{$a = 10;$b = 11;echo ($a+$b);
}add1();
echo $a;//非法访问 在函数外部不能访问函数内部定义的全局变量s?>

  

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/736567.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Google 发布了最新的开源大模型 Gemma 2,本地快速部署和体验

Google 重磅发布了最新版大语言模型Gemma 2,其中 90亿 参数版本适合我们个人在笔记本本地部署,老牛同学通过本文和大家一起,通过2种方式快速部署和体验,当然这2种快速部署模型的方式,也同样适用于其他大模型……Gemma 2 是 Google 最新发布的开源大语言模型。它有两种规模…

ros - slam - microros - 两轮差速模型运动学 - 运动学逆解

上一节我们推导并在代码中实现了运动学正解,本节我们来学习下运动学逆解,实现给定线速度和角速度,计算出轮子达到怎样的转速才能达到这个速度。 一、逆解推导我们直接用正解结果进行求逆解即可。 二、编写代码继续在上一节中的代码Kinematics.cpp中完善即可。void Kinematic…

vscode 中code-runner插件 py配置

"code-runner.executorMap": {"javascript": "node","python": "$pythonPath $fullFileName",}本文来自博客园,作者:__username,转载请注明原文链接:https://www.cnblogs.com/code3/p/18280704

vscode code-runner配置

"code-runner.executorMap": {"javascript": "node","python": "$pythonPath $fullFileName",}本文来自博客园,作者:__username,转载请注明原文链接:https://www.cnblogs.com/code3/p/18280704

[IOT2050 question] Unable to listen on http://127.0.0.1:1880/ 端口被占用错误

1. 背景第一次连接node-red的时候,一直出现错误Unable to listen on http://127.0.0.1:1880/。如下:2. 原因分析估计是早前利用iot2050setup小工具把node-red设置为开机自动启动项了,导致1880端口一直被占用。3. 验证首先查看端口是否真的被占用,利用sudo netstat -ltup命令…

实战篇——SQL注入sqli-labs-master靶场实战二

实战篇——SQL注入sqli-labs-master靶场实战(2) SQL注入的高级利用 (1) 宽字节注入 有时后端会对用户输入的特殊字符进行转义处理,这时普通的注入方式就会失效。对于成对的单引号,可以通过十六进制编码的方式绕过转义;而对于单个的单引号,当数据库的编码格式为GBK时,就要用…

代码随想录算法训练营第四十五天 | 打家劫舍

198.打家劫舍 题目链接 文章讲解 视频讲解dp[j]: 表示投到第j家最多能偷dp[j]的钱 递推公式: dp[j] = max(dp[j-2] + nums[j], dp[j-1]) 初始化:dp[0] = nums[0], dp[1] = max(dp[0], dp[1]) 遍历顺序:从小到大 打印dp数组class Solution { public:int rob(vector<int>…

使用开源ntfy消息推送服务发布通知实现全平台接收通知

说明:ntfy源代码:https://github.com/binwiederhier/ntfy.git 官方未编译Windows版本,本人编译最新版本:(链接:https://pan.baidu.com/s/1pMsfqNb5FKHawTLUBTgjQA?pwd=f84u提取码:f84u) 服务部署系统:Windows Server 2019或其他Windows系统简介 ntfy是一个开源的消息…

上海市小区地下室非机动车辆(电动自行车、自行车)坡道设计评级指南 All In One

上海市小区地下室非机动车辆(电动自行车、自行车)坡道设计评级指南 All In One 非机动车辆地下夹层坡道反人类设计 为什么要这么设计? 设计的参考依据是什么? 设计师有去亲身体验自己的设计成果吗? 非机动车(电动自行车、自行车)坡道设计评级指南上海市小区地下室非机动车辆…

【Linux系列】修改ssh端口

#Linux #等保 场景:在CentOS 7.9操作系统上,修改默认的ssh端口。ssh默认22端口,在实际开展业务中的生产环境中,通常会修改为指定端口号,以满足规范。 版本:CentOS 7.9 1.修改sshd_config配置文件 修改命令:vi /etc/ssh/sshd_config 修改内容:Port 100222.重启sshd服务3…

stable diffusion ControlNet使用介绍与进阶技巧

ControlNet是什么?固定构图、定义姿势、描绘轮廓、单凭线稿就能生成一张丰满精致的插画……它几乎无所不能。 有人把它称为AI绘画界的“革命性”突破,但在我看来,它不过是StableDiffusion迈向“工业化”的第一步。 ControlNet扩展与模型下载地址 扩展地址: https://github.…

前端实现根据模版导出word【docxtemplater】

场景 有的时候我们需要根据后端提供的数据,然后结合word模版来生成word。我们可以使用第三方库docxtemplater 效果代码 App.vue <template><div class="app"><el-divider content-position="center">1.基本使用</el-divider><…

Mysql MVCC多版本解析

1.首先各行数据,都有一个trx_id(事务ID)和回滚指针,形成一个链表数据结构的数据。其实这便是undo.log(回滚日志) 2.当select查询数据的时候,还会生成视图数据。 其中包含未提交的最小事务、未提交事务ID数组、应该分配下一个的事务ID、创建视图的事务ID 首先会生成read …

Linux的访问权限详解

题目解读访问权限 rw-r--r--分别代表什么东西 r:代表可读 w:可写 e:可执行 方便起见进行拆分rw- 代表文件所属用户的权限 r-- 代表同组用户的权限 r-- 代表其他用户的权限同时我们可以用2进制来表示: r:4 w:2 e:1 也即是3位二进制数则可以表示 chmod 命令 更改对应的文件的权…

Linux统计日志中有多少个不同的IP登录

题目解析 知识点: 1、awk -F {print $3} 指定空格是分隔符进行分割,取第三个。(不指定默认分隔符也是空格) 2、uniq -c(uniq命令可以去除排序过的文件中的重复行,因此uniq经常和sort合用。也就是说,为了使uniq起作用,所有的重复行必须是相邻的。参数 - c :进行计…

WebAPI项目框架仓储模式+导入SqlSuag

仓储(Respository)是对数据库访问的一个封装 解决方案新建Respository文件夹,新建类库Web.Core.IRepository,Web.Core.Repository 解决方案新建Services文件夹,新建类库Web.Core.IServices,Web.Core.Services 在类库Web.Core.Model下面新建Entity文件夹SqlSugar是国人开发者…

操作系统内存管理学前补充知识

操作系统内存管理学前补充知识 目录操作系统内存管理学前补充知识什么是内存,有什么作用数据的数量单位指令的工作原理3种装入的方式(逻辑地址—>物理地址)绝对装入静态重定位动态重定位从写程序到程序的运行链接的三种方式 什么是内存,有什么作用 手机有内存,电脑中也…

Nginx proxy manager反向代理docker hub

1.域名解析 用作反向代理的域名要提前解析,如果使用外国的DNS域名提供商的话,最好提前一天解析好。 2.配置NPM 2.1.Details选项卡2.2.SSL选项卡2.3.Advanced选项卡 location / {# Docker hub 的官方镜像仓库proxy_pass https://registry-1.docker.io; proxy_set_header Host…

cJSON:构建JSON

使用cJSON库构建比较简单的JSON类型: create_json.c #include <stdio.h> #include <string.h> #include <stdlib.h>#include "cJSON.h"static int create_json_type_1(void) {char *json_str = NULL;cJSON *root = NULL;root = cJSON_CreateObjec…