1、PHP
2、语法
- PHP输出:通过 PHP,有两种在浏览器输出文本的基础指令:echo 和 print。
<?php
echo "Hello World! ";
?>
<?php
$str = "Hello world!";
print $str;
?>
<?php
echo "<h2>hello world</h2>";
echo "<p>这是输出的一条信息</p>";
- PHP变量:变量必须以 $ 符号开始,不需要声明,命名规则同C++。(弱类型语言:即不必向声明该变量的数据类型,PHP 会根据变量的值,自动把变量转换为正确的数据类型。)
<?php
$txt="Hello world!";
$x=5;
$y=10.5;
echo $txt;
?>
- PHP常量:可以不用加$符号,用define(常量名, 常量值, 是否区分大小写)定义。
<?php
define("GREETING", "Welcome to w3cschool.cn!");
echo GREETING;
?>
<?php
define("GREETING", "Welcome to w3cschool.cn!", true);
echo greeting;
?>
在PHP中使用 var_dump() 函数可以返回变量的数据类型和值
整数,浮点数
字符串(用.连接两个字符串,echo $x1.$x2;)
布尔(true,false,null三种值不区分大小写)
数组($cars=array("Volvo","BMW","Toyota");)
对象(需要事先声明)
class Car{
var $color;
function Car($color="green") { $this->color = $color; }
function what_color() { return $this->color; }
}
- PHP变量作用域:在函数中访问全局变量,需要使用 global 关键字
<?php
$x=5;
$y=10;
function myTest(){
global $x,$y;
$y=$x+$y;
}
myTest();
echo $y;
?>
- PHP可变变量:$$可以使用另一个变量的值作为当前变量的名称。
<?php
$hello = "Hi!";
$a = 'hello';
echo $$a;
?>
- PHP运算符:赋值除了.都和C++一样。比较多出一个===和==,!=和<>和!==,其他都一样。
x==y,x和y值相等
x===y,x和y值相等,且数据类型相同。
x!=y, x<>y:x和y值不等
x!==y, x和y值不等,或值相等但数据类型不同。
<?php
$x=100;
$y="100";
var_dump($x == $y);
echo "<br>";
var_dump($x === $y);
echo "<br>";
var_dump($x != $y);
echo "<br>";
var_dump($x !== $y);
echo "<br>";
$a=50;
$b=90;
var_dump($a > $b);
echo "<br>";
var_dump($a < $b);
?>
- PHP数组:用array()创建,默认0开始的数值数组,也可以指定键令其为关联数组(类似于map)。
数值数组:
$cars=array("Volvo","BMW","Toyota");
$cars[0]="Volvo";
$cars[1]="BMW";
$cars[2]="Toyota";
关联数组:
$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");
$age['Peter'] = "35";
$age['Ben'] = "37";
$age['Joe'] = "43";
<?php
$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");
echo "Peter is " . $age['Peter'] . " years old.";
?>
多维数组:
$city = array(
'beijing'=>array('天安门', '长城'),
'xiamen'=>array('鼓浪屿', '中山路', '软件园'),
'other'=>array('双子塔', '海湾')
);
echo $city['beijing'][1];
echo $city['xiamen'][0];
- PHP控制语句:if, elseif, while, do while, for, switch, continue, break都和c++一样,多一个foreach。
$names = array("John" => 18, "David" => 21, "Amy" => 23);
foreach ($names as $name => $age) {
echo $name.'年龄是'.$age.'<br />';
}
- PHP函数:都以function开头,其他和C++一样。
<?php
function test($a,$b = 8){
$add = $a + $b;
return $add;
echo $add + 2;
}
test(2,5);
- PHP文件:fopen和c++一样,fwrite类似于fprintf,file可以把整个文件读入数组。
<?php
$file = fopen("test.txt","a");
$test = "Hello World. Testing!";
fwrite($file,$test);
fclose($file);
?>
<?php
$arr = file("test.txt");
print_r($arr);
?>
Array
(
[0] => Hello World. Testing testing!
[1] => Another day, another line.
[2] => If the array picks up this line,
[3] => then is it a pickup line?
)
3、PHP表单 form
- 超全局变量:$_SERVER ,$GLOBALS ,$_REQUEST ,$_POST ,$_GET ,$_FILES ,$_ENV ,$_COOKIE ,$_SESSION ,具体百度。
$_SERVER 是一个包含标题,路径和脚本位置等信息的数组。此阵列中的条目由 Web 服务器创建。
$_SERVER ['SCRIPT_NAME'] 返回当前脚本的路径:
$_SERVER['HTTP_HOST'] 从当前请求返回主机头:
<?php
echo $_SERVER['HTTP_HOST'];
?>
- 检索:$_GET 和 $_POST 变量用于检索表单中的信息,比如用户输入。
action:属性指定在提交表单时,将数据发送到名为 “form.php” 的PHP文件。 method:预定义的 $_GET 变量用于收集来自 method=“get” 的表单中的值,POST同理。
1、表单:
<html>
<body>
<form action="form.php" method="post">
Name: <input type="text" name="fname">
Age: <input type="text" name="age">
<input type="submit">
</form>
</body>
</html>
2、当用户填写完上面的表单并点击提交按钮时,表单的数据会被送往名为 "form.php" 的 PHP 文件,"form.php" 文件如下所示:
<html>
<body>
Welcome <?php echo $_POST["fname"]; ?>!<br>
You are <?php echo $_POST["age"]; ?> years old.
</body>
</html>
什么是cookies:
**cookie 是由服务器发送到浏览器的变量**。cookie 通常是服务器嵌入到用户计算机中的小文本文件。
每当同一台计算机通过浏览器请求页面时,就会发送这个 cookie。
创建Cookies:
在下面的例子中,我们将创建名为 "user" 的 cookie,并为它赋值 "Alex Porter"。
我们也规定了此 cookie 在一小时后过期:
<?php
setcookie("user", "Alex Porter", time()+3600);
?>
<html>
.....
获取 Cookie 的值:
<?php
echo $_COOKIE["user"];
print_r($_COOKIE);
?>
删除 Cookie:
使过期日期变更为过去的时间点
<?php
setcookie("user", "", time()-3600);
?>
- PHP Sessions:
session 变量用于存储关于用户会话(session)的信息,或者更改用户会话(session)的设置。Session 变量存储单一用户的信息,并且对于应用程序中的所有页面都是可用的。
在你把用户信息存储到 PHP session 中之前,首先必须启动会话。
注意:session_start() 函数必须位于 <html> 标签之前:
<?php
session_start();
$_SESSION['views']=1;
?>
<html>
<body>
<?php
echo "Pageviews=". $_SESSION['views'];
?>
</body>
</html>
销毁 Session:
如果你希望删除某些 session 数据,可以使用 unset() 或 session_destroy() 函数。
unset() 函数用于释放指定的 session 变量:
<?php
session_start();
if(isset($_SESSION['views']))
unset($_SESSION['views']);
?>
你也可以通过调用 session_destroy() 函数彻底销毁 session:
注意:session_destroy() 将重置 session,您将失去所有已存储的 session 数据。
<?php
session_destroy();
?>
摸鱼完成,有些过于简单了?(
|