php基础

参考:W3school PHP教程:http://www.w3school.com.cn/php/index.asp

1PHP中的变量:

Php的变量部分和python类似,都是无类型声明的,只不过php多一个$符

以$符号开头,后面紧跟一个字母或下划线(不能是数字),然后后面可以由字母,下划线或数字组成

 var_dump() 会返回变量的数据类型和值

php中bool变量的值为true或false

php中把变量定义为空:$x=null;

数组:
索引数组
定义法一:$cars=array("Volvo","BMW","SAAB");

定义法二(分开指定):

$cars[0]="Volvo";

$cars[1]="BMW";

$cars[2]="SAAB";

遍历索引数组:用count(数组名)方法获取数组长度

<?php

$cars=array("Volvo","BMW","SAAB");

$arrlength=count($cars);

for($x=0;$x<$arrlength;$x++) {

  echo $cars[$x];

  echo "<br>";

}

?>

 

关联数组(字典)

定义法一:$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");

定义法二:

$age['Peter']="35";

$age['Ben']="37";

$age['Joe']="43";

遍历关联数组(字典):用foreach循环

<?php

$age=array("Bill"=>"35","Steve"=>"37","Peter"=>"43");

foreach($age as $x=>$x_value) {

  echo "Key=" . $x . ", Value=" . $x_value;

  echo "<br>";

}

?>

数组的排序

  • sort() - 以升序对数组排序
  • rsort() - 以降序对数组排序
  • asort() - 根据值,以升序对关联数组进行排序
  • ksort() - 根据键,以升序对关联数组进行排序
  • arsort() - 根据值,以降序对关联数组进行排序
  • krsort() - 根据键,以降序对关联数组进行排序

其他,phpstring参考手册(功能强大):

http://www.w3school.com.cn/php/php_ref_array.asp

  •  

2PHP中的常量:

常量的值无法改变且常量是全局的
常量的定义方法:define(常量名,常量值[,常量名是否大小写敏感(true为不敏感)])

<?php

define("GREETING", "Welcome to W3School.com.cn!");

echo GREETING;

?>

3PHP类和PHP函数(无返回值类型声明,设置默认参数用=):

<?php

class Car

{

  var $color;

#php函数

  function Car($color="green") {

    $this->color = $color;

  }

  function what_color() {

    return $this->color;

  }

}

?>

4PHP判断/条件语句(while语句和for语句同java):

if (条件) {

  条件为 true 时执行的代码;

} elseif (condition) {

  条件为 true 时执行的代码;

} else {

  条件为 false 时执行的代码;

}

####java是else if || python是elif || php是elseif

switch (expression)

{

case label1:

  code to be executed if expression = label1;

  break; 

case label2:

  code to be executed if expression = label2;

  break;

default:

  code to be executed

  if expression is different

  from both label1 and label2;

}

 

5PHP字符串函数:

字符串长度:strlen(“hello”);#返回5

字符串中查找字符串:strpos(“hello world!”,”world”);#返回匹配到的字符串的首字符位置或false

其他,phpstring参考手册(功能强大):

http://www.w3school.com.cn/php/php_ref_string.asp

6echo print 之间的差异:

  • echo - 能够输出一个以上的字符串
  • print - 只能输出一个字符串,并始终返回 1

提示:echo 比 print 稍快,因为它不返回任何值。

echo "This", " string", " was", " made", " with multiple parameters.";

echo $txt1;
echo "My car is a {$cars[0]}";
print "Study PHP at $txt2";
print $txt1;
print "My car is a {$cars[0]}";

7php运算:

与python3类似,php中用/做整数除法可以得到小数

8global关键词:在函数内引用全局变量

法一
<?php
$x=5;
$y=10;
 
function myTest() {
  global $x,$y;
  $y=$x+$y;
}
 
myTest();
echo $y; // 输出 15
?>
 
法二
<?php
$x=5;
$y=10;
 
function myTest() {
  $GLOBALS['y']=$GLOBALS['x']+$GLOBALS['y'];
} 
 
myTest();
echo $y; // 输出 15
?>

9Static关键词:在函数内定义静态变量(这个变量属于这个函数,调用函数后变量不会销毁)

<?php
 
function myTest() {
  static $x=0;
  echo $x;
  $x++;
}
 
myTest();
myTest();
myTest();
 
?>

10PHP中的超全局变量,9(下面介绍了前5)$GLOBAL, $_SERVER, $_REQUEST, $_POST, $_GET, $_FILES, $_ENV, $_COOKIE, $_SESSION

 

$GLOBAL用于在任意位置访问全局变量,用法$GLOBAL[‘不带$号的全局变量名’]

<?php

$x = 75;

$y = 25;

 

function addition() {

  $GLOBALS['z'] = $GLOBALS['x'] + $GLOBALS['y'];

}

 

addition();

echo $z;

?>

$_SERVER用于访问一些系统参数,用法$_SERVER[‘要访问的参数’]

 

$_SERVER['PHP_SELF']

返回当前执行脚本的文件名。

$_SERVER['GATEWAY_INTERFACE']

返回服务器使用的 CGI 规范的版本。

$_SERVER['SERVER_ADDR']

返回当前运行脚本所在的服务器的 IP 地址。

$_SERVER['SERVER_NAME']

返回当前运行脚本所在的服务器的主机名(比如 www.w3school.com.cn)。

$_SERVER['SERVER_SOFTWARE']

返回服务器标识字符串(比如 Apache/2.2.24)。

$_SERVER['SERVER_PROTOCOL']

返回请求页面时通信协议的名称和版本(例如,“HTTP/1.0”)。

$_SERVER['REQUEST_METHOD']

返回访问页面使用的请求方法(例如 POST)。

$_SERVER['REQUEST_TIME']

返回请求开始时的时间戳(例如 1577687494)。

$_SERVER['QUERY_STRING']

返回查询字符串,如果是通过查询字符串访问此页面。

$_SERVER['HTTP_ACCEPT']

返回来自当前请求的请求头。

$_SERVER['HTTP_ACCEPT_CHARSET']

返回来自当前请求的 Accept_Charset 头( 例如 utf-8,ISO-8859-1)

$_SERVER['HTTP_HOST']

返回来自当前请求的 Host 头。

$_SERVER['HTTP_REFERER']

返回当前页面的完整 URL(不可靠,因为不是所有用户代理都支持)。

$_SERVER['HTTPS']

是否通过安全 HTTP 协议查询脚本。

$_SERVER['REMOTE_ADDR']

返回浏览当前页面的用户的 IP 地址。

$_SERVER['REMOTE_HOST']

返回浏览当前页面的用户的主机名。

$_SERVER['REMOTE_PORT']

返回用户机器上连接到 Web 服务器所使用的端口号。

$_SERVER['SCRIPT_FILENAME']

返回当前执行脚本的绝对路径。

$_SERVER['SERVER_ADMIN']

该值指明了 Apache 服务器配置文件中的 SERVER_ADMIN 参数。

$_SERVER['SERVER_PORT']

Web 服务器使用的端口。默认值为 “80”。

$_SERVER['SERVER_SIGNATURE']

返回服务器版本和虚拟主机名。

$_SERVER['PATH_TRANSLATED']

当前脚本所在文件系统(非文档根目录)的基本路径。

$_SERVER['SCRIPT_NAME']

返回当前脚本的路径。

$_SERVER['SCRIPT_URI']

返回当前页面的 URI。

 

$_REQUEST获取提交到当前脚本的html表单内容,用法:$_REQUEST[‘提交到当前脚本的html表单(GET,POST…都可以)中的元素的name’]

<html>

<body>

<form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>">

Name: <input type="text" name="fname">

<input type="submit">

</form>

<?php

$name = $_REQUEST['fname'];

echo $name;

?>

</body>

</html>

$_POST获取提交到当前脚本的POST表单内容(用法同$_REQUEST)

<html>

<body>

<form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>">

Name: <input type="text" name="fname">

<input type="submit">

</form>

<?php

$name = $_POST['fname'];

echo $name;

?>

</body>

</html>

$_GET获取提交到当前脚本的GET表单内容(用法同$_REQUEST)

发送get请求:test_get.php?subject=PHP&web=W3school.com.cn

test_get.php脚本:

<html>

<body>

 

<?php

echo "Study " . $_GET['subject'] . " at " . $_GET['web'];

?>

 

</body>

</html>

 

 

原文地址:https://www.cnblogs.com/zealousness/p/7670041.html