php基础语法 实验报告,PHP基础语法

本文详细介绍了PHP中字符串的查找、修改、删除和添加操作,以及变量的类型转换、常量的定义与使用、魔术常量和HTTP请求变量。讲解了包括if语句的简写形式、循环控制、日期时间处理等核心概念,提供了丰富的示例代码。
摘要由CSDN通过智能技术生成

对于字符串中的指定字符做增删改查操作

$string='abcdef';//查找

echo $string{0};echo '
'注意,修改的时候只能一个字符替换一个字符

$string{1}='z'$string;azcdef

;$string{4}='!'azcd!f

echo '


'$string='abc'$string{0}='hello'hbc

不要对于中文字符做操作

$string='你好'var_dump($string);'你好' (length=6)

删除 不知道为啥这部分我做了没效果,还是输出原来的字符串;

如果把''改成' ',原来的字符位置又会多出一个空格,不明白不明白??$string{2}=''$string; abcdef

$string{0}=''; $string添加字符

$string{3}='d';abcd

$string='abc';abc00e

$string{5}='e'abc e

不存在的变量返回null

销毁变量使用unset()

$a=$b=$c='king'一次销毁3个变量

unset($a,$b,1)">$c);$c);

PHP换行符

1.\n是使源代码换行,而浏览器显示的内容不换行(用双引号包裹);

2.
是使浏览器显示的内容换行,而源代码不换行

临时转换

$var=true临时转换成整型

var_dump((int)$var,(integer)$var);1 1

//临时转换成浮点类型

var_dump((float)double)$var临时转换成字符串型

string)临时转换成布尔类型

$var='3king'var_dump((bool)boolean)临时转换成空

$var='hello'unset)临时转换成数组

$var=123array)临时转换成对象

$var=12.3object)$var);

通过系统函数完成临时转换

$res=intval($res);3

var_dump(floatval($var),doubleval());var_dump(boolval());strval($var));

得到变量的类型 gettype()

type可能的值为:

“boolean” (或为“bool”,从 PHP 4.2.0 起)

“integer” (或为“int”,从 PHP 4.2.0 起)

“float” (只在 PHP 4.2.0 之后可以使用,对于旧版本中使用的“double”现已停用)

"string"

"array"

"object"

“null”

永久转换的例子

echo gettype(integer

永久转换settype($var,$type)

settype($var);

通过变量函数库检测变量的类型,is_*

检测是否为整型

$var=0var_dump(is_int(is_integer(is_long()

);是否为字符串型

is_string(是否是布尔类型

falseis_bool(是否为标量类型

nullis_scalar(是否为null

is_null(是否为数组

array();is_array(是否是对象

newStdClass();is_object(是否是资源

fopen('./test.html','r'is_resource(检测是否为数值型或者是字符串形式的数值

//123 23.4 '123.34' '23'

is_numeric($var));

系统常量

echo PHP_VERSION;7.3.4

PHP_OS;WINNT

echo PHP_INT_MAX;...很长

define(NAME,VALUE):定义常量

常量一经定义不能改变

常量默认区分大小写,使用的时候按照定义时的大小写来使用

define('TEST','this is a test'echoTEST;define('TEST_ARRAY',1)">array('a','b','c'(TEST_ARRAY);

const关键字定义常量const TEST='this is a test'通过constant来获取常量的值

constant('TEST');通过defined()检测常量是否存在

defined('TEST'));get_defined_constants():返回的是数组,得到所有已定义的常量,包含系统常量和自定义常量

print_r(get_defined_constants());

魔术常量

__LINE____FILE__echo __DIR__;

$_REQUEST 能接收 get,post 方式传值,它包含$_GET,$_POST,$_COOKIE 三个预定

义变量的内容,为什么在页面上给$_GET 和$_POST 赋值以后打印$_REQUEST,里面却为

空?

原因:$_REQUEST 包含$_GET 和$_POST 的值,必须是通过 get,post 两种方式传过来的

数据,单独在页面给$_GET 和$_POST 赋值时,没有给$_REQUEST 赋,它代替不了$_GET

和$_POST

define 定义数组常量时报错

原因:数组常量定义是 PHP7 新加的特性,在 7 之前的版本,常量的值仅允许标量和 null。

标量的类型是 integer, float,string 或者 boolean。所以数组是不允许的,需要将版

本升级到 7 才能定义数组常量。

整数支持递增递减运算符

浮点类型支持递增递减运算符

布尔类型不支持递增递减运算符

null只支持递增运算符,不支持递减运算符

字符串只支持递增运算符,根据ascii码来计算

$str='a'echo ++$str;b

$str='a1'a2

$str='a9'b0

$str='B'C

ord($character):得到指定字符的ASCII码值

ord($strecho '
';98

chr($ascii):根据指定ASCII得到对应的字符

chr(98);b

字符连接符

echo 'a'.'b'.'c';abc

echo 'a','c';abc

$str1=' hello '$str2=' world '$newStr=$str1,1)">$str2;报错

$str1.hello world

$newStr;

mt_rand($min,$max):产生随机数

mt_rand(1,9mt_rand(1000,9999);

生成四位数的多色验证码

$code='

比较结合运算符(太空船运算符)

前面>后面 1

前面

前面=后面 0

(1.5<=>1.5,1.5<=>1.2,1.5<=>4.6);('a'<=>'a','c'<=>'a','c'<=>'e');

NULL合并操作符

从左到右第一个存在且不为null的操作

如果全部都是null,就返回null

PHP7之后开始有

true??'king'??123,0??false??null??'hello world',1)">$abcdef??'hello world');

字符串搜索相关

strpos($string,$search):返回字符串首次出现的位置,位置从0开始;如果没找到返回false

stripos($string,$search):忽略大小的去搜索

strrpos($string,$search):返回字符串最后一次出现的位置;如果没找到返回false

strripos($string,$search):忽略大小写的去搜索最后一次出现的位置

$str='abcadebf'strpos($str,'bc')); 1

stripos(strrpos(strripos(3

错误抑制符@

;

@$res=0?:'this is a test'$res);

max()  min()

max(123,234,35234234);得到最大值

min(-123,23,5346);得到最小值

date($format,$time):格式化日期时间

Y:4位的年份

m:2位月份

d:2位的日

H:2位的小时

i:2位的分钟

s:2位秒数

w:返回一周内的第几天,0~6(0代表星期日)

date_default_timezone_set($timezone):设置时区

date_default_timezone_get():得到当前默认的时区

time():得到当前的时间戳

date_default_timezone_set('PRC');Asia/Shanghai

date("Y年m月d日 H:i:s");2020年01月09日 15:29:18

date("Y-m-d H:i:s",1)">time());2020-01-09 15:29:18

date("Y/m/d",1)">2020/01/09

echo date_default_timezone_get();PRC

if语句的另外的形式

if(){

}else{

}true):

else:

endif;-----------------------------

else if($username=='queen'{

}elseif(endif;

exit($msg)|die($msg)程序终止执行

exitdieexit("

Game Over ...

");

for循环

for($i=1;$i<=3;++$i){;echo "\n";

}$i,"\n";4

$j=4;$j<=0;$j++echo 'this is a test
'$j,1)">没有循环,初始值4

//生成四位数多色验证码

$i=0;$i<4;$i++echo '

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值