



























.php<?php开头,以 ?>结尾 ;结尾//或#开头/* */包围$开头后跟变量名称数字字母下划线组成全局(global)、局部(local)、静态(static)三种
<?php
$txt = "Hello world!";
echo $txt . " <br>";
Echo "Hello world! . <br>";
$x = 5;
$y = 10.5;
var_dump($x + $y);
?>
//Hello world!
//Hello world! .
//float(15.5)
function myTest()
{
$y = 10; //局部变量
echo "函数内的局部变量y为:" . $y;
}
myTest();
$x = 5; //全局变量
echo "函数外的x变量为:" . $x;
//函数内的局部变量y为:10函数外的x变量为:5
$x = 5;
$y = 10;
function myTest1()
{
global $x, $y;
$y = $x + $y;
}
myTest1();
echo $y; // 输出 15
//15
function myTest2()
function myTest2()
{
static $x = 0; //声明静态变量
$x++; //自增静态变量
echo "函数内的静态变量x为:" . $x;
}
myTest2();
myTest2();
myTest2();
//函数内的静态变量x为:1函数内的静态变量x为:2函数内的静态变量x为:3一个以上字符串字符串中可以包含HTML标记
echo "Hello world! <br>"; //输出一个字符串
echo "zhang", "you", "ze", "<br>"; //输出多个字符串
$txt1 = "Learn PHP";
$txt2 = array("VOAO", "HAHA", "LALA");
echo "echo out put $txt1 <br>"; //输出一个字符串
print $txt2[1]; //输出数组元素
echo "<br>echo out put {$txt2[2]} <br>"; //输出数组元素
print "print out put {$txt2[2]} <br>";
print "<span>输出标签</span>"
//Hello world!
//zhangyouze
//echo out put Learn PHP
//HAHA
//echo out put LALA
//print out put LALA
//输出标签
$x = 5985;
var_dump($x); //输出整型类型和值
echo "<br>";
$x = -345;
var_dump($x); //输出小数类型和值
echo "<br>";
$x = 0x1A;
var_dump($x); //输出十六进制类型和值
echo "<br>";
$x = 0123;
var_dump($x); //输出八进制类型和值
//int(5985)
//int(-345)
//int(26)
//int(83)
$x = 3.1415926;
var_dump($x); //输出浮点型类型和值
echo "<br>";
$x = 1.2e3;
var_dump($x);
echo "<br>";
$x = 7E-10;
var_dump($x);
echo "<br>";
//float(3.1415926)
//float(1200)
//float(7.0E-10)
$x = true;
var_dump($x); //输出布尔类型和值
echo "<br>";
$x = false; //注意大小写
var_dump($x);
echo "<br>";
//bool(true)
//bool(false)--------变量函数库-------
empty() 检查变量是否为空
gettype() 获取变量类型
is_array() 检查变量是否为数组
is_bool() 检查变量是否为布尔值
isset() 检查变量是否已定义
unset() 删除变量
var_dump() 输出变量类型和值
--------字符串函数库--------
strlen() 返回字符串长度
substr() 截取字符串
substr ( string $string , int $start [, int $length ] )
strstr() 截取字符串
explode() 将字符串转换为数组
trim() 去除字符串两端的空白
md5() 计算字符串的MD5值
$cars = array("Volvo", "BMW", "Toyota");
$isempty = '';
echo "isempty:".empty($isempty);
echo gettype($cars);
echo is_array($cars);
var_dump($cars); //输出数组类型和值
$x = array("name" => "John", "age" => 30, "city" => "New York");
var_dump($x); //输出关联数组类型和值
/*
isempty:1
array
1
array(3) {
[0]=>
string(5) "Volvo"
[1]=>
string(3) "BMW"
[2]=>
string(6) "Toyota"
}
array(3) {
["name"]=>
string(4) "John"
["age"]=>
int(30)
["city"]=>
string(8) "New York"
}
$x = null;
var_dump($x); //输出NULL类型和值
echo "<br>";
//NULL
$str = "Hello world!";
echo "字符串长度:" . strlen($str);
echo "<br>子字符串在字符串中第一次出现的位置:" . strpos($str, "ll");
//字符串长度:12
//子字符串在字符串中第一次出现的位置:2
define("PI", 3.1415926);
echo "圆周率:" . PI;
define("GREETING", "<br>Hello world!", true);
echo GREETING;
/*
圆周率:3.1415926
Deprecated: define(): Declaration of case-insensitive constants is deprecated in /www/wwwroot/youze.xn--6qq986b3xl/php_note.php on line 465
Hello world!
$a = "Hello";
$a.= " world!";
echo $a;
$b = $a . " and PHP";
echo $b;
$count =75;
print ($count>=60? "及格" : "不及格"); //条件运算符
//Hello world!Hello world! and PHP及格
$a = 2;
if ($a == 1) {
echo "北京";
} elseif ($a == 2) {
echo "上海";
} else {
echo "广州";
}
//上海
// $a = 3;
switch ($b) {
case 1:
echo "北京";
break;
case 2:
echo "上海";
break;
case 3:
echo "深圳";
break;
default:
echo "广州";
break;
}
//广州
$i = 3;
do {
echo $i++;
} while ($i < 5);
//34
for ($i = 0; $i < 5; $i++) {
print $i;
}
//01234
$fruits = array("apple", "banana", "orange");
foreach ($fruits as $fruit) { //输出数组元素 注意语法格式
echo $fruit . "<br>";
}
/*
apple
banana
orange
pear
grape//例1 默认值
//函数体 形参min 默认值40
function setHeight($min=40){
echo "最小高度为:". $min . 'cm' . "<br>";
}
// 调用函数
setHeight(50);
setHeight(); //调用时不传参,使用默认值40
setHeight(100);
/*
最小高度为:50cm
最小高度为:40cm
最小高度为:100cm//例2 返回值
function sum($x, $y){
$z = $x + $y;
return $z;
}
echo '10 + 20 = '. sum(10, 20) . '<br>'; //输出30
echo '34 + 56 = '. sum(34, 56); //输出80
/*
10 + 20 = 30
34 + 56 = 90//例1 数组定义、遍历
$cars = array("Volvo", "BMW", "Toyota", "Honda", "Ford", "Chevrolet");
array_pop($cars); //删除数组末尾元素
array_push($cars, "Tesla"); //在数组末尾添加元素
echo $cars[6]; //输出数组元素
echo "/I like" . $cars[0] . " and " . $cars[1] . " cars." . "<br>"; //输出数组元素
echo count($cars); //输出数组元素个数
for( $i=0; $i<count($cars); $i++ ){ //遍历数组元素
echo $cars[$i] . '、'; //输出数组元素
}
/*
/I like Volvo and BMW cars.
6Volvo、BMW、Toyota、Honda、Ford、Tesla、//例2 关联数组定义、遍历 ★★★★
$person = array("name" => "John", "age" => 30, "city" => "New York"); //定义关联数组
echo "My name is " . $person["name"] . " and I am " . $person["age"] . " years old." . "<br>"; //输出关联数组元素
foreach($person as $key => $value){ //遍历关联数组元素
echo $key . " : " . $value . "<br>"; //输出关联数组元素
}
/*
My name is John and I am 30 years old.
name : John
age : 30
city : New York//例1:$GLOBALS[''] 引用全局作用域中可用的全部变量
$a = 10;
$b = 20;
function add(){
$GLOBALS['c'] = $GLOBALS['a'] + $GLOBALS['b'];
}
add();
echo $c; //输出30
//30
//例2:$_SERVER[''] 保存关于报头、路径和脚本位置的信息。
echo $_SERVER['PHP_SELF']; //输出当前脚本的路径 /php_note.php
echo $_SERVER['DOCUMENT_ROOT']; //输出服务器的文档根目录 D:/phpstudy_pro/WWW
echo $_SERVER['SCRIPT_FILENAME']; //输出当前脚本的绝对路径 D:/phpstudy_pro/WWW/php_note.php
echo $_SERVER['HTTP_HOST']; //输出当前域名 localhost
echo $_SERVER['SERVER_ADDR']; //输出服务器IP地址 ::1
echo $_SERVER['SERVER_SOFTWARE']; //输出服务器环境信息 Apache/2.4.39 (Win64) OpenSSL/1.1.1b mod_fcgid/2.3.9a mod_log_rotate/1.02
echo $_SERVER['SCRIPT_NAME']; //输出当前脚本的名称 /php_note.php
echo $_SERVER['REQUEST_URI']; //输出当前页面的完整URL /php_note.php
echo $_SERVER['HTTP_USER_AGENT']; //输出用户使用的浏览器类型 Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36 Edg/128.0.0.0
echo $_SERVER['SERVER_PROTOCOL']; //输出请求页面时使用的协议 HTTP/1.1
/*
/php_note.php
/www/wwwroot/youze.xn--6qq986b3xl/
/www/wwwroot/youze.xn--6qq986b3xl/php_note.php
www.youze.xn--6qq986b3xl
172.24.248.63
Apache
/php_note.php
/php_note.php
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36 Edg/128.0.0.0
HTTP/2.0
*/
//例3 $_REQUEST[''] 用于收集 HTML 表单提交的数据。
//当用户点击提交按钮来提交数据后,表单数据会发送到 <form> 标签的 action 属性中指定的文件。
<form action="php_note.php">
Name:<input type="text" name="fname"><br>
<input type="submit">
</form>
<?php
$name = $_POST['fname'];
echo $name;
?>
//例3:$_POST[''] 用于收集提交 method="post" 的 HTML 表单后的表单数据。
//点击a后,参数 "name" 和 "age" 被发送到 "php_note.php",然后能够通过$_GET 在 "php_note.php" 中访问这些值。
<a href="php_note.php?name=Youze&age=18">测试 $GET 通过链接传值</a>
<?php
echo "Name: " . $_GET['name'] . " age: " . $_GET['age'];
?>
//测试 $GET 通过链接传值
//Name: Youze age: 18
echo "今天是 " . date("Y/m/d") ;
echo "今天是 " . date("Y-m-d-l") ;
echo "今天是 " . date("l"); //英文字母l
echo "现在时间是 " . date("h:i:sa");
// h - 带有首位零的 12 小时小时格式
// i - 带有首位零的分钟
// s - 带有首位零的秒(00 -59)
// a - 小写的午前和午后(am 或 pm)
// mktime(hour,minute,second,month,day,year)
// 通过 PHP mktime() 创建日期
$d=mktime(9, 12, 31, 6, 10, 2015);
echo "创建日期是 " . date("Y-m-d h:i:sa", $d);
$d=strtotime("tomorrow");
echo date("Y-m-d h:i:sa", $d) ;
$d=strtotime("next Saturday");
echo date("Y-m-d h:i:sa", $d) ;
$d=strtotime("+3 Months");
echo date("Y-m-d h:i:sa", $d);
/*
今天是 2024/08/14
今天是 2024-08-14-Wednesday
今天是 Wednesday
现在时间是 02:27:49pm
创建日期是 2015-06-10 09:12:31am
2024-08-15 12:00:00am
2024-08-17 12:00:00am
2024-11-14 02:27:49pm
*/面向对象
class max_and_swap
{
public $number_1; //注意:旧版本PHP使用var 新版本PHP建议使用public;
public $number_2;
public function __construct($number_1 = null, $number_2 = null)
{ //构造函数
$this->number_1 = $number_1;
$this->number_2 = $number_2;
}
function max() //求两个数的最大值
{
return ($this->number_1 > $this->number_2) ? $this->number_1 : $this->number_2;
}
function swap() //交换两个数的值
{
$temp = $this->number_1;
$this->number_1 = $this->number_2;
$this->number_2 = $temp;
}
}
$max_and_swap_one = new max_and_swap(10, 20); // 实例化对象
$max_number = $max_and_swap_one->max(); // 调用对象方法max()
echo "最大值为:" . $max_number;
$max_and_swap_one->swap(); // 调用对象方法swap()
echo "number_1: " . $max_and_swap_one->number_1;
echo "number_2: " . $max_and_swap_one->number_2;
//最大值为:20
//number_1: 20
//number_2: 10
class test_class
{
function test_function()
{
echo "当前行号:" . __LINE__;
echo "当前文件名:" . __FILE__;
echo "当前文件所在目录:" . __DIR__;
echo "当前函数名:" . __FUNCTION__;
echo "当前类名:" . __CLASS__;
echo "当前方法名:" . __METHOD__;
echo "当前命名空间名:" . __NAMESPACE__;
echo "当前Trait名:" . __TRAIT__;
}
}
$test_object = new test_class;
$test_object->test_function();
/*
当前行号:1024
当前文件名:/www/wwwroot/youze.xn--6qq986b3xl/php_note.php
当前文件所在目录:/www/wwwroot/youze.xn--6qq986b3xl
当前函数名:test_function
当前类名:test_class
当前方法名:test_class::test_function
当前命名空间名:
当前Trait名:
<?php // 页头文件 footer.php
$color = '银色的';
$car = '奔驰轿车';
echo "<p>Copyright 20020-" . date("Y") . " Youze.comlt/p>"
?>
<?php // 主页文件 php_note.php
include 'footer.php'; // 包含页脚文件 require引用方法相同
echo "我有一辆" . $color . $car .".";
?>
//Copyright 20020-2024 Youze.com
//我有一辆银色的奔驰轿车.
$crate_file = fopen("cratefile.txt", "w") or die("Unable to create file!"); //创建文件
$txt = "my name is Youze";
fwrite($crate_file, $txt);
fclose($crate_file);
//目录下产生文件cratefile.txt 内容为my name is Youze
//2.覆盖文件内容
$over_file = fopen("overwrite.txt", "w") or die("Unable to create file!"); //创建文件
$txt = "my name is libaibai";
fwrite($over_file, $txt);
fclose($over_file);
//文件被打开之前的内容被覆盖为my name is libaibai
//3.读取文件内容方法1
echo readfile("cratefile.txt"); //读取整个文件内容 和大小
//3.读取文件内容方法2
$myfile = fopen("overwrite.txt", "r") or die("Unable to open file!"); //打开文件
echo fread($myfile,filesize("overwrite.txt")); //打开文件,读取最大字节数为整个文件大小
echo '文件大小为:'.filesize("overwrite.txt"); //获取文件大小
fclose($myfile);
//4.逐行读取文件内容
$file = fopen("read_line.txt", "r") or exit("无法打开文件!");
// 读取文件每一行,直到文件结尾
while(!feof($file))
{
echo fgets($file);
}
fclose($file);
//5.copy文件
copy("overwrite.txt", "copy_file.txt"); //复制文件
/*
my name is Youze16
my name is libaibai
文件大小为:19
我是逐行读取的文件第一行
我是逐行读取的文件第二行
我是逐行读取的文件第三行
我是逐行读取的文件第四行文件结尾
echo "当前工作目录: ".getcwd();
//创建目录
mkdir("test_dir");
//删除目录
rmdir("test_dir");
//当前工作目录: /www/wwwroot/youze.xn--6qq986b3xl
<form action="upload_file.php" method="post" enctype="multipart/form-data">
<input type="file" id="file" name="file">
<input type="submit" value="上传" name="submit">
</form>
//upload_file.php文件内容
echo "Upload: " . $_FILES["file"]["name"] ;
echo "Type: " . $_FILES["file"]["type"] ;
echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb;
echo "Stored in: " . $_FILES["file"]["tmp_name"];
<form action="form_receive.php" onsubmit="return checkForm(this)" method="post">
<label for="username">username:</label>
<input type="text" id="name" name="username" required><br>
<label for="password">password:</label>
<input type="password" id="password" name="password"><br>
<input type="submit" value="submit ">
</form>
<script>
function checkForm(obj) {
var name = obj.username.value;
var password = obj.password.value;
// 正则表达式验证用户名和密码
var name_check = /^[0-9]{6,16}/;
var password_check = /^[a-zA-Z0-9_]{6,16}/;
if (!name_check.test(name)) {
alert("用户名必须为6-16位数字");
return false;
}
if (!password_check.test(password)) {
alert("密码必须为6-16位数字或字母或下划线");
return false;
}
return true;
}
</script>
//文件form_receive.php
$name = $_POST['username'];
$pass = $_POST['password'];
echo "Username: $name";
echo "Password: $pass ";
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。