php,和 asp.net,servlet等相似,是作为一种在服务器上运行的语言。现在记录其一些基础,用于以后学习。
1,语句格式和声明变量
由于 php 为一种弱类型语言,所以声明变量时不需要加数据类型来区别。用符号 $
开头,首字符只能用字母,其他位置可以用字符、数字和下划线 _
组成,且所有的语句要写在 <?php
和 ?>
之间,除最后一行语句不用以分好;
结尾,其它的都要 😃
<?php
$ABC123_ = 1;
?>
2,打印日志
由两种关键字,echo
和 print
,和四种打印方式 😃
echo("Hello world!");
echo "Hello world!";
print("Hello world!");
print "Hello world!";
3,字符串拼接
其不像 c++,java 等那样用符号 +
来拼接字符串,而是用符号 .
😃
$str = "Hello world" . " haha"
4,单、双引号字符串
双引号内的变量会被解析,单引号字符串不会,单引号内要打印自身要在其钱加转移符号 \
😃
$str = "Hello world";
$b = "{$str}hello";
$c = '{$str}hello';
$d = '{$str}hello \' haha';
5,换行符
html 的为 </br>
,php 控制台的为\n
,还有一种为 PHP_EOL
,为跨平台换行符,就是由于不同系统问题,导致各个系统的换行符不统一,windows 为 /r/n
,linux 为 /n
,mac 为 /r
,而 php 的跨平台换行符会根据系统的不同而转换为不同的换行符,因此在文本编辑中饱受欢迎 😃
echo "Hello</br>World"
echo "Hello\nWorld";
echo "Hello" . PHP_EOL . "World";
5,数组
php 的数组有点特别,它将普通的数组与键值对结合了起来,在使用时他会将其分为两类,一类为普通数组,只能通过索引下标访问,且这个下标索引不得超过其普通数组的总个数-1
,当其普通数组的个数为零时就不可以通过索引下标访问了,另一类的键值对只能通过键做索引来查找对应的值,其格式为 健名 => 值
. 😃
$a = array(1, 'ab' => 2, 3);
// 结果
// $a[0] = 1;
// $a[1] = 3;
// $a['ab'] = 2;
6,条件判断语句与循环语句
条件语句分 if
和 switch
,循环语句分 while
、do ... while
, for
和一个专门遍历数组的foreach
😃
if (true) {
...
} else {
...
}
switch() {
case 1:
break;
case 2:
...
default:
...
}
while (true) {
...
}
do {
...
} while(true);
for ($i = 1; $i < 10; $i++) {
...
}
$a = array(1, 2, 3);
foreach ($a as $b) {
echo $b;
}
// 结果
// 123
7,类的创建、引用、静态变量、静态方法和引用外部类
php运行方式很特别,像 JavaScript 一样,从第一行由上而下运行,写在里面的都会运行,但是会跳过类、抽象类和接口范围域内的代码,只有通过某种方式来条用其中的语句。引用外部类有四种方式 😃
C1.php
<?php
class C1
{
public $value = 123;
static $valueTwo = 456;
function say() {
echo 'Hello World';
}
static function sayTwo() {
echo 'static Hello World';
}
}
?>
同目录下 Main.php
<?php
// 该文件只会读取一次,常用于操作同一个文件
// require 'C1.php';
// 若其它位置上被引用过,则不会执行
require_once 'C1.php';
// 若其它位置上被引用过,则不会执行
// include_once 'C1.php';
// 每次执行,每次都会读取一遍,常用于操作不同文件
// include 'C1.php';
$c1 = new C1();
// $c1 = new C1;
// 引用方法
$value = $c1->value;
$c1->say();
C1::sayTwo();
C2::$valueTwo;
?>
8,类的继承与接口类
继承用关键字 extends
,且只可继承一个类,实现接口类用关键字 implements
,可以实现多个接口 😃
<?php
interface A1 {
function sayA();
}
interface A2 {
function sayB();
}
class F1 {
function sayNo() {}
}
class C1 extends F1 implements A1, A2
{
public $value = 123;
static $valueTwo = 456;
function say() {
echo 'Hello World';
}
static function sayTwo() {
echo 'static Hello World';
}
function SayA() {
}
function SayB() {
}
}
?>
。。。
问题询问:hellolxb@yeah.net