介绍性的范例
<html>
<head>
<title>Example</title>
</head>
<body>
<?php
echo "Hi, I'm a PHP script!";
?>
</body>
</html>
php使用范围,主要用于以下三个领域:
apt install apache2apt install mysql-server mysql-clientapt install php7.0http://127.0.0.1/,展示apache相关信息则正常
vim /etc/apache2/ports.conflisten 80为listen 8000或其他端口,然后再访问http://127.0.0.1:8000/var/www/html下的index.html文件被修改了,但是不影响使用/var/www/html是apache2默认的项目解析路径通过修改/etc/apache2/apache2.conf中的
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
/etc/apache2/sites-available/000-default.conf中的DocumentRoot /var/www/html/var/www或/var/www/html均修改成自定义的路径,就可以使apache2解析自定义路径下的文件执行如下命令
cd /var/www/html
vim hello.php
编写以下php脚本
<?php
phpinfo()
?>
http://127.0.0.1/hello.php,展示PHP版本及相关信息则正常apt install libapache2-mod-phpls /usr/lib/apache2/modules | grep libphpphp -m查看是否有mysql或者mysqlli
apt install php-mysqlphp php文件执行php文件,操作文件的用户是rootwww-data:www-datacat /etc/apache2/envvars查看chown -R test:test test/更改test文件夹及其子文件、文件夹的所属用户为test,所属用户组为test$符号开头,其后是变量的名称A-z、0-9 以及 _)$y 与 $Y 是两个不同的变量)php是弱类型语言,不需要定义时申明类型
<?php
$txt="Hello world!";
$x=5;
$y=10.5;
?>
函数内部申明的变量拥有局部作用域,只能在函数内部访问
<?php
$x=5; // 全局作用域
function myTest() {
$y=10; // 局部作用域
echo "<p>测试函数内部的变量:</p>";
echo "变量 x 是:$x";
echo "<br>";
echo "变量 y 是:$y";
}
myTest();
echo "<p>测试函数之外的变量:</p>";
echo "变量 x 是:$x";
echo "<br>";
echo "变量 y 是:$y";
?>
在函数内部使用static关键字申明的变量拥有静态作用域,不会随着函数的结束被回收
<?php
$x=5;
$y=10;
function myTest() {
global $x,$y;
$y=$x+$y;
}
myTest();
echo $y; // 输出 15
?>
echoif elseif elsefor
foreachfunction
returnyieldclass
extensionnewprivatepublicabstractaquireincludeinclude_onceissetunsetarrayexitfinalstaticconstglobal$_GET
?后面的请求条件$_POST
$_FILES
$_REQUEST
$_SESSION$_COOKIE$_SERVER
$_SERVER["REQUEST_URI"]$_SERVER['REQUEST_METHOD']$GLOBALS
$argv
+ - * / %,加、减、乘、除、取余该字符串的开始部分决定了它的值。如果该字符串以合法的数值开始,则使用该数值。否则其值为 0(零)。合法数值由可选的正负号,后面跟着一个或多个数字(可能有小数点),再跟着可选的指数部分。指数部分由 ‘e’ 或 ‘E’ 后面跟着一个或多个数字构成。
<?php
$foo = 1 + "10.5"; // $foo is float (11.5)
$foo = 1 + "-1.3e3"; // $foo is float (-1299)
$foo = 1 + "bob-1.3e3"; // $foo is integer (1)
$foo = 1 + "bob3"; // $foo is integer (1)
$foo = 1 + "10 Small Pigs"; // $foo is integer (11)
$foo = 4 + "10.2 Little Piggies"; // $foo is float (14.2)
$foo = "10.0 pigs " + 1; // $foo is float (11)
$foo = "10.0 pigs " + 1.0; // $foo is float (11)
?>
$a = 1$b = $a$a = 3;$a += 5; // sets $a to 8, as if we had said: $a = $a + 5;$b = "Hello ";$b .= "There!"; // sets $b to "Hello There!", just like $b = $b . "There!";$c = &$aphpinfo ($what = null)
error_log ($message, $message_type = null, $destination = null, $extra_headers = null)
$message写入php.ini中指定的日志文件var_export ($expression, $return = null)
$return为空直接echo,$return为true返回字符串var_dump ($expression, $_ = null)
print_r ($expression, $return = null)
func_num_args()
func_get_arg ($arg_num)
$arg_num的参数的值str_replace ($search, $replace, $subject, &$count = null)
explode ($delimiter, $string, $limit = null)
$string根据$delimiter切割成数组,类似python的字符串函数split$object所属类的类名implode ($glue = "", array $pieces)
$pieces内的元素以$glue拼接起来