#2 PHP 字符串操作
PHP 2011-05-01- 单引号,双引号
- heredoc `<<
coding in a complicated world
PHP 是互联网领域最主流的后端语言之一,主要用于 Web 开发,优点就是学习门槛低,部署也简单。
因此大量网站都基于 PHP 构建,包括:
典型代表:
“嵌入 HTML 的服务器端脚本语言”
服务器收到请求后:
浏览器请求
↓
Web 服务器(Apache)
↓
PHP 解释执行
↓
生成 HTML
↓
返回浏览器
浏览器永远看不到 PHP 源码,只能看到 PHP 执行后的结果。
.php 结尾。PHP 代码写在 php 标签中,例如:
<?php
echo "Hello PHP";
?>
面向 Web,内置大量 Web 能力:
表单处理
数据库访问
HTML 混编,例如:
<html>
<body>
<h1>用户列表</h1>
<?php
echo "<p>Tom</p>";
echo "<p>Jerry</p>";
?>
</body>
</html>
<?php
echo "Hello";
print "World";
?>
PHP 变量以 $ 开头。
<?php
$name = "Tom";
$age = 18;
echo $name;
echo $age;
?>
特点:
常见类型:
$string = "abc";
$int = 123;
$float = 3.14;
$bool = true;
$array = array();
PHP 属于弱类型语言。
PHP 的数组功能极强,可以实现列表、字典(HashMap)。
<?php
# 普通数组
$names = array("Tom", "Jerry");
echo $names[0];
# 关联数组
$user = array(
"name" => "Tom",
"age" => 18
);
echo $user["name"];
?>
<?php
$age = 20;
if ($age >= 18) {
echo "成人";
} else {
echo "未成年";
}
?>
<?php
for ($i = 0; $i < 5; $i++) {
echo $i;
}
?>
<?php
$names = array("Tom", "Jerry");
foreach ($names as $name) {
echo $name;
}
?>
PHP 中大量数据遍历都依赖 foreach。
定义函数:
<?php
function add($a, $b) {
return $a + $b;
}
echo add(1, 2);
?>
特点:
<form method="post">
<input name="username" />
<input type="submit" />
</form>
<?php
$username = $_POST['username'];
echo $username;
?>
PHP 提供超级全局变量:
$_GET$_POST$_COOKIE$_SESSION$_FILES这是 Web 编程基础。
<?php
mysql_connect("localhost", "root", "123456");
$result = mysql_query("SELECT * FROM users");
?>
mysqli
pdo
Cookie 在浏览器中保存会话数据。
<?php
setcookie("username", "Tom");
?>
Session 在服务器保存会话数据。
<?php
session_start();
$_SESSION['user_id'] = 1;
?>
登录系统大量依赖 Session。
Linux 下的 LAMP 组合:Linux + Apache + MySQL + PHP
Windows 下反正我都是选择 XAMPP 套件,也是包含 Apache + MySQL + PHP。