网站首页 文章专栏 Php 基本语法
[toc]
弱类型
php
$x=5;
$y=6;
$z=$x+$y;
strlen() 返回字符串长度
strpos(s, t) 返回s中t的位置,从0开始,没有返回FALSE
. 使用点号将两个字符串连接在一起
数组的内容包含数组定义、修改内容、遍历等,使用一个遍历例子即可包含大部分内容。
php
$cars=array("Volvo","BMW","Toyota");
$arrlength=count($cars);
for($x=0;$x<$arrlength;$x++)
{
echo $cars[$x];
echo "<br>";
}
关联数组类似于python中的字典,生成带键值的数组。
php
$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");
foreach($age as $x=>$x_value)
{
echo "Key=" . $x . ", Value=" . $x_value;
echo "<br>";
}
函数的使用类似于matlab的工具箱函数,只要将数组传进去即可。
sort()
- 对数组进行升序排列
rsort()
- 对数组进行降序排列
asort()
- 根据关联数组的值,对数组进行升序排列
ksort()
- 根据关联数组的键,对数组进行升序排列
arsort()
- 根据关联数组的值,对数组进行降序排列
krsort()
- 根据关联数组的键,对数组进行降序排列
PHP
有四种不同的变量作用域:
local
global
static
parameter
是否在函数内可以区分局部变量与全局变量,在函数内访问全局变量需要声明global
php
define("GREETING", "欢迎访问 Runoob.com");
echo GREETING; // 输出 "欢迎访问 Runoob.com"
$GLOBALS
$_SERVER
$_REQUEST
$_POST
$_GET
$_FILES
$_ENV
$_COOKIE
$_SESSION
PHP_EOL
换行符
__LINE__
当前行号
__FILE__
文件名
__DIR__
文件所在目录
__FUNCTION__
函数名称
__CLASS__
类的名称
__TRAIT__
见这里
__METHOD__
类的方法名
__NAMESPACE__
当前的命名空间
php
if (条件)
{
条件成立时执行的代码;
}
elseif (条件)
{
elseif 条件成立时执行的代码;
}
else
{
条件不成立时执行的代码;
}
php
switch (n)
{
case label1:
如果 n=label1,此处代码将执行;
break;
case label2:
如果 n=label2,此处代码将执行;
break;
default:
如果 n 既不等于 label1 也不等于 label2,此处代码将执行;
}
见数组遍历
php
<html>
<body>
<?php
$i=1;
while($i<=5)
{
echo "The number is " . $i . "<br>";
$i++;
}
?>
</body>
</html>
php
<?php
function add($x,$y)
{
$total=$x+$y;
return $total;
}
echo "1 + 16 = " . add(1,16);
?>
覆盖语法点:类的定义、成员变量、成员函数、类的实例化、成员变量、函数的调用、构造函数、析构函数、方法覆盖
php
<?php
class Site {
/* 成员变量 */
var $url;
var $title;
// 构造函数
function __construct( $par1, $par2 ) {
$this->url = $par2;
$this->title = $par1;
}
function __destruct() {
echo "销毁 " . $this->title . "<br>";
}
/* 成员函数 */
function setUrl($par){
$this->url = $par;
}
function getUrl(){
echo $this->url . '<br>';
}
function setTitle($par){
$this->title = $par;
}
function getTitle(){
echo $this->title . '<br>';
}
}
class ex_site extends Site{
function __construct($arg1, $arg2) {
parent::__construct($arg1, $arg2); // 子类构造方法不能自动调用父类的构造方法
echo "SubClass 类中构造方法" . '<br>';
}
function getTitle(){
echo $this->title . ' 覆盖<br>';
}
}
$runoob = new Site('wenfeng wiki','wiki.stackoverflow.club');
$runoob->getTitle();
$runoob->getUrl();
// 调用成员函数,设置标题和URL
$runoob->setTitle( "菜鸟教程" );
$runoob->setUrl( 'www.runoob.com' );
// 调用成员函数,获取标题和URL
$runoob->getTitle();
$runoob->getUrl();
$ex_runoob = new ex_site('ex wenfeng wiki', 'ex wiki.stackoverflow.club');
$ex_runoob->getTitle();
?>
命名空间略复杂。