php中isset的empty区别?
1 错误在PHP中,经常会有需要判断某些变量是否为空的情况,这个时候,PHP中有两个函数可供使用:
isset:判断变量的变量值是否已经设置
empty:判断当前变量是否为空
这里需要注意,当使用empty的时候,如果这个变量的值为0,系统也会认为这个变量为空。如果想要使用避免一些错误,应该明白这个时候的逻辑到底是什么。建议使用isset代替empty。
我需要判断当data数组中的a变量为空的时候,就输出错误信息,但是我的这个a变量本身的值有可能是0,导致我在这个问题上纠结了很久,最后通过测试,发现了问题,然后我使用isset代替了empty,但是还是不行。
123if (empty($data['a'])) { //即使a不为空,也会进入到这个里面 return \Fam\Api\Api::fail('error');}
123if (isset($data['a'])) { //即使a不为空,也会进入到这个里面 return \Fam\Api\Api::fail('e ...
php显示时间的时区设置
1 date在PHP中,有一个系统函数:date(),该函数可以用来获取时间和日期,但是默认情况下不是显示的北京时间,所以需要进行一个时区的设置。设置方法如下:
(1) 方法1能正常显示,但是会报警告。
123456date.date_default_timezone_set("PRC");echo date("Y年m月d日 H:i:s");echo "<br/>";echo time();echo "<br/>";echo microtime();
(2) 方法2可以正常显示。
1234567<?phpini_set('date.timezone','PRC');echo date("Y年m月d日 H:i:s");echo "<br/>";echo time();echo "<br/>";echo microtime();
写在最后欢迎大家关注鄙 ...
php的关键语法介绍
1 变量(1)变量123$x; //不指定初始值$x = 1; //执行初始值 //php中的变量不需要特别执行变量的类型,有解析器自动识别
(2)常量12345678910<?php//1.使用define()函数声明//define("常量名",常量值),这里需要注意,使用define定义常量时,需要使用双引号,否则会有提示警告define(PI, 3.14);echo PI;echo "<br/>";//2.使用const关键字定义const PIS = 3.14;echo PIS;echo "<br/>";
(3)变量作用域
全局变量:只允许再全局空间再被访问,也就是说再函数内部不能被访问
局部变量:只允许再函数内部被访问
如果想要再函数内部访问全局变量
12345678910111213141516171819// 1.全局空间存在该变量<?php$a = 123;function test(){ global $a; echo $a; ...
How to connect remote redis server
1 Before Connect Remote Redis ServerYou should install redis on your linux machine. Run the following commands and install it.
12345$ sudo yum install epel-release$ sudo yum install redis//verify your installtion$ redis-cli pingPONG //If you get this prompt, it means the isntalltion was successful.
2 command123$ redis-cli -h {host_ip} -p {port} -a {passowrd}//example$ redis-cli -h 127.0.0.1 -p 6379 -a '123456'
3 ERROR: Could not connect to Redis at 192 ...
How to change timezone in linux
1 How to view time in Linux
date
12$ date2021年 06月 25日 星期五 01:44:00 PDT
timedatectl
123456789101112131415$ timedatectl Local time: 五 2021-06-25 01:44:34 PDT Universal time: 五 2021-06-25 08:44:34 UTC RTC time: 五 2021-06-25 08:44:34 Time zone: America/Los_Angeles (PDT, -0700) NTP enabled: yesNTP synchronized: yes RTC in local TZ: no DST active: yes Last DST change: DST began at 日 2021-03-14 01:59:59 PST 日 2021-03-14 03:00:00 PDT Next D ...
install and run redis on Docker
1 Install Docker on CentOSFirst of all, you should docker on your CentOS, jump to the official page and learn how to install docker on cent os.
You can run the following commands to install docker on your CentOS.
12345$ sudo yum install -y yum-utils # pre install$ sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo # pull the repository of docker$ sudo yum-config-manager --enable docker-ce-nightly # enabke some config$ sudo yum-config-manager --enable ...
how to view os version on linux(如何查看Linux的系统信息)
1 How to view OS version on Linux
cat /etc/os-release
12345678910111213141516[root@bogon ~]# cat /etc/os-release // cent osNAME="CentOS Linux"VERSION="7 (Core)"ID="centos"ID_LIKE="rhel fedora"VERSION_ID="7"PRETTY_NAME="CentOS Linux 7 (Core)"ANSI_COLOR="0;31"CPE_NAME="cpe:/o:centos:centos:7"HOME_URL="https://www.centos.org/"BUG_REPORT_URL="https://bugs.centos.org/"CENTOS_MANTISBT_PROJECT=" ...
Ubuntu系统如何使用SSH协议连接root用户
1 How to Fix ‘E: Could not get lock /var/lib/dpkg/lock’ Error in Ubuntu Linuxresloved page
use the following command see what thread take the apt:
1$ ps aux | grep -i apt
12345root@ubuntu:/home/root123# ps aux | grep -i aptroot 3495 0.0 0.8 227104 33796 ? SNl 06:32 0:00 /usr/bin/python3 /usr/sbin/aptdroot 7697 0.0 0.0 4508 744 ? Ss 06:38 0:00 /bin/sh /usr/lib/apt/apt.systemd.daily installroot 7706 0.0 0.0 4508 1696 ? ...
Before you start work, you should know ...
Linux可以掌握常用工具的日常使用场景:
awk统计ip
awk基本内置变量:FS、OFS、RS、ORS、NR、NF(输出最后一个字段,$NF)、BEGIN、END、FILENAME、ARGC、ARGV
printf:格式化输出
print:正常输出
模式匹配:匹配字符使用/[string]/括起来
匹配所有行中只要含root的行:awk '/root/ {print $0} 1.txt'
^符号表示开头,比如:awk '/^root/ {print $0} 1.txt',该语句输出1.txt文件中的所有以root开头的行
运算符匹配:
>、<、>=、<=、==、!=、~(匹配正则表达式)、!~(不匹配正则表达式)
如果需要对某个变量进行匹配,则需要在变量后面加上~符号,表示匹配的意思,比如:awk '$1~/root/ {print $0} 1.txt'
布尔运算符:
&&, ...
! [rejected] master -> master (non-fast-forward)
1 问题在使用git管理代码时,有时候需要用到reset命令回退到不同的版本号,当回退到历史版本之后,又需要重新提交,此时可能会遇到如下的错误:
1! [rejected] master -> master (non-fast-forward)
2 解决此时可以使用如下的命令进行解决:
123# 先从github将之前的版本pull下来,然后在提交$ git pull <remote repository> <branch>$ git push origin master
12# 方法二,如果觉得代码没有问题,可以强制push上去$ git push --force <remote repository>
写在最后欢迎大家关注鄙人的公众号【麦田里的守望者zhg】,让我们一起成长,谢谢。