PHP编程语言手册七:PHP的字符串及正则语法
1.PHP的字符串
|-- 双引号 : 可解析变量 解析所有转移符--------------
<?php
$name = "toly-张风捷特烈-1994328";
echo "$name";
|-- 单引号: 不可解析变量 只解析\' \\两个转义符------------
<?php
$name = "toly-张风捷特烈-1994328";
echo '$name';
|-- 字符冲突时用转义符 : \---------------------
\\ \' \$ \" \r \n \t \f
|-- {}的辅助 --- {}要紧贴变量,不要加空格----------------
echo "{$name}s";//toly-张风捷特烈-1994328s
echo "${name}s";//toly-张风捷特烈-1994328s
|-- 字符的操作
echo $name[0];//t
Utils::line();
echo $name{1};//o
Utils::line();
$name[2]='L';
echo $name;//toLy-张风捷特烈-1994328
复制代码
2.heredoc 和 nowdoc
|-- heredoc作用同双引号,只是在其中双引号不用转义------------
$html = <<<EOF
"在"""""s这里面'''""'原样输出"
EOF;
echo $html;
|-- nowdoc作用同单引号,只是在其中双引号不用转义------------
$html = <<<'EOD'
"在"""""s这里面'''""'原样输出"
EOD;
echo $html;
复制代码
3.其他类型转换为字符串
数字: 原样
布尔: ture 1 false ''
null: ''
数组: Array
$num=1;
$res = (string)$num;//类型转换
strval($num);//类型转换
settype($num,'string')//$num本身转变
|-- php中布尔值为false的情况
$flag = '';//假
$flag = "";//假
$flag = null;//假
$flag = 0;//假
$flag = "0";//假
$flag = 0.0;//假
$flag = "0.0";//真
$flag = array();//假
$flag = 'false';//真
echo $flag ? "真" : "假";
复制代码
4.字符串的一些方法
$name = "kiNg tolY-张风捷特烈-1994328";
echo is_string($name) ? "是字符串" : "不字符串";//是字符串
echo empty($name) ? "为空" : "不为空";//不为空
echo "字符串长度:" . strlen($name);//字符串长度:33
echo "转大写:" . strtoupper($name);//转大写:KING TOLY-张风捷特烈-1994328
echo "转小写:" . strtolower($name);//转小写:king toly-张风捷特烈-1994328
echo "首字母大写:" . ucfirst($name);//首字母大写:KiNg tolY-张风捷特烈-1994328
echo "单词首字母大写:" . ucwords($name);//单词首字母大写:KiNg TolY-张风捷特烈-1994328
echo substr($name, 2, 8);//Ng tolY-
echo substr($name, -7, 4);//1994
echo substr($name, 2);//Ng tolY-张风捷特烈-1994328
echo substr($name, 2, -4);//Ng tolY-张风捷特烈-199
echo trim(" rry ");//rry 去除两端的空格
echo rtrim(" rry ");// rry 去除右端的空格
echo ltrim(" rry ");//rry 去除左端的空格
echo trim($name, "k");//iNg tolY-张风捷特烈-1994328 指定字符trim
$arr = ["java","kotlin","javascript","c++"];
echo join($arr, "-->");//java-->kotlin-->javascript-->c++
|-- 字符串的正则操作
$split = preg_split("/-/", $name);//正则切割
print_r($split);//Array ( [0] => kiNg tolY [1] => 张风捷特烈 [2] => 1994328 )
$match = preg_match("/\d{10,16}/", $name);//匹配连续10~16个数字
print_r($match ? "匹配成功" : "匹配失败");//匹配失败
echo preg_replace("/-/","·",$name);//kiNg tolY·张风捷特烈·1994328
复制代码
5.php与表单
简单来个表单
---->[reg.php]-----------------------
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>注册页面</title>
<h1>注册页面</h1>
<form action="doReg.php" method="post">
<label>用户名:</label>
<input type="text" name="username" placeholder="请输入用户名">
<label>密码:</label>
<input type="password" name="password" placeholder="请输入密码">
<label>确认密码:</label>
<input type="password" name="conform-password" placeholder="确认密码">
<input type="submit" name="submit">
</form>
</head>
<body>
</body>
</html>
---->[doReg.php]-----------------------
<?php
$name = $_POST['username']; //获取表单数据
echo $name; //这样就可以连接mysql插入数据库了
复制代码
OK ,第一次接触PHP,感觉还好吧,个人感觉和python有点像,很多东西都是函数调用
而不是像Java,Kotlin等用对象的api来操作,所以感觉函数多起来,挺乱的。
PHP和JavaScript怎么说呢,感觉侧重点不同,谁好谁坏的说不清,各有千秋吧。
语言都类似,基本模块都差不多,关键还是看能不能玩转起来,不吹不黑,PHP还不错。
作者:张风捷特烈
链接:https://juejin.im/post/5c8a19d75188257dd56e7d91
来源:掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
THE END