1、PHP

【w3cschool】PHP语法简单复习_数组

2、语法

  • PHP输出:通过 PHP,有两种在浏览器输出文本的基础指令:echo 和 print
<?php
echo "Hello World! ";
?>

<?php
$str = "Hello world!";
print $str;
?>
  • PHP注释:和C++一样
<?php
// 这是 PHP 单行注释
echo "<h2>hello world</h2>";

/*
这是
PHP 多行
注释
*/
echo "<p>这是输出的一条信息</p>";
  • PHP变量:变量必须以 $ 符号开始,不需要声明,命名规则同C++。(弱类型语言:即不必向声明该变量的数据类型,PHP 会根据变量的值,自动把变量转换为正确的数据类型。)
<?php
$txt="Hello world!";
$x=5;
$y=10.5;
echo $txt;

//输出内容 Hello world!
?>
  • PHP常量:可以不用加$符号,用define(常量名, 常量值, 是否区分大小写)定义
<?php
define("GREETING", "Welcome to w3cschool.cn!");
echo GREETING;
?>

<?php
define("GREETING", "Welcome to w3cschool.cn!", true);
echo greeting;
?>
  • PHP:数据类型
在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; // 输出 15
?>
  • PHP可变变量:$$可以使用另一个变量的值作为当前变量的名称
<?php
$hello = "Hi!";
$a = 'hello';
echo $$a;
// Outputs 'Hi!'
?>
  • 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");//自动分配 ID 键(ID 键总是从 0 开始):
$cars[0]="Volvo"; //手动分配ID键
$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]; //output 长城
echo $city['xiamen'][0]; //output 鼓浪屿
  • 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 />';
}
// John年龄是18
// David年龄是21
// Amy年龄是23
  • PHP函数:都以function开头,其他和C++一样。
<?php
function test($a,$b = 8){//可以指定省缺值
$add = $a + $b;
return $add;//返回7
echo $add + 2;//不会打印
}

test(2,5);
  • PHP文件:fopen和c++一样,fwrite类似于fprintf,file可以把整个文件读入数组
<?php
$file = fopen("test.txt","a");//w是写,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'];
//输出 "localhost"
?>
  • 检索:$_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 存储实例
什么是cookies:
**cookie 是由服务器发送到浏览器的变量**。cookie 通常是服务器嵌入到用户计算机中的小文本文件。
每当同一台计算机通过浏览器请求页面时,就会发送这个 cookie。

创建Cookies:
在下面的例子中,我们将创建名为 "user" 的 cookie,并为它赋值 "Alex Porter"。
我们也规定了此 cookie 在一小时后过期:
<?php
setcookie("user", "Alex Porter", time()+3600);
?>
<html>
.....

获取 Cookie 的值:
<?php
// 打印一个 cookie
echo $_COOKIE["user"];
// 查看所有的 cookies
print_r($_COOKIE);
?>

删除 Cookie:
使过期日期变更为过去的时间点
<?php
// set the expiration date to one hour ago
setcookie("user", "", time()-3600);
?>
  • PHP Sessions:
    session 变量用于存储关于用户会话(session)的信息,或者更改用户会话(session)的设置。Session 变量存储单一用户的信息,并且对于应用程序中的所有页面都是可用的。
在你把用户信息存储到 PHP session 中之前,首先必须启动会话。
注意:session_start() 函数必须位于 <html> 标签之前:
<?php
session_start();
// store session data
$_SESSION['views']=1;
?>

<html>
<body>
<?php
//retrieve session data
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();
?>

摸鱼完成,有些过于简单了?(

【w3cschool】PHP语法简单复习_数组_02