PHP基础

Hello World##

<!DOCTYPE html>
<html>
<body>
<h1>My first PHP page</h1>
<?phpecho "Hello World!";?>
</body>
</html>

在线运行
PHP 中的每个代码行都必须以分号结束。分号是一种分隔符,用于把指令集区分开来。

变量##

<?php
$x=22;
$y=33;
$z=$x+$y;
echo $z;

在线运行
PHP 变量规则:

  • 变量以 $ 符号开始,后面跟着变量的名称
  • 变量名必须以字母或者下划线字符开始
  • 变量名只能包含字母数字字符以及下划线(A-z、0-9 和 _ )
  • 变量名不能包含空格
  • 变量名是区分大小写的($y 和 $Y 是两个不同的变量)

当赋一个文本值给变量时,在文本值两侧加上引号.

<?php
$z="Hello world!";
echo $z;

在线运行
不必向 PHP 声明该变量的数据类型。
PHP 会根据变量的值,自动把变量转换为正确的数据类型。
在强类型的编程语言中,我们必须在使用变量前先声明(定义)变量的类型和名称。PHP是一门弱类型语言.

PHP 有四种不同的变量作用域:

  • local
  • global
  • static
  • parameter
    在所有函数外部定义的变量,拥有全局作用域。除了函数外,全局变量可以被脚本中的任何部分访问,要在一个函数中访问一个全局变量,需要使用 global 关键字。
    在 PHP 函数内部声明的变量是
    局部变量**,仅能在函数内部访问:
<?php
$x=5; // 全局变量
function myTest(){
    $y=10; // 局部变量
    echo "测试函数内变量:";
   // print_r($x);这个$x是打印不出来的,如果想要打印出来,需要使用global.
    print_r($y);
}
myTest();
echo "测试函数外变量:";
print_r($x);
//print_r($y);

在线运行
PHP 将所有全局变量存储在一个名为 $GLOBALS[index] 的数组中。index保存变量的名称。这个数组可以在函数内部访问,也可以直接用来更新全局变量

<?php
$x=55;
$y=10;
function myTest(){ 
   $GLOBALS['y']=$GLOBALS['x']+$GLOBALS['y'];
}
myTest();
echo $y;

在线运行
当一个函数完成时,它的所有变量通常都会被删除。然而,有时候您希望某个局部变量不要被删除。
要做到这一点,请在您第一次声明变量时使用static关键字:

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

在线运行

PHP echo 和 print 语句##

echo 和 print区别:
echo - 可以输出一个或多个字符串
print - 只允许输出一个字符串,返回值总为 1

提示:echo 输出的速度比 print 快, echo 没有返回值,print有返回值1。

<?php
echo "<h2>PHP is fun 1!</h2>";
echo "Hello world!<br>";
echo "I'm about to learn PHP!<br>";
echo "This", " string", " was", " made", " with multiple parameters.";
echo "<br>";
echo '*******************************';
print "<h2>PHP is fun 2!</h2>";
print "Hello world!<br>";
print "I'm about to learn PHP!";
//print "This", " string", " was", " made", " with multiple parameters.";  会出错

在线运行

<?php
$txt1="Learn   PHP";
$txt2="w3cschool.cc";
$cars=array("Volvo","BMW","Toyota");
print $txt1;
print "<br>";
print "Study PHP at $txt2";
print "My car is a {$cars[0]}";

在线运行

php数据类型##

  • String(字符串),
  • Integer(整型),
  • Float(浮点型),
  • Boolean(布尔型),
  • Array(数组),
  • Object(对象),
  • NULL(空值)。

设置常量,使用 define() 函数,函数语法如下

bool define ( string $name , mixed $value [, bool $case_insensitive = false ] )

创建一个区分大小写的常量##

常量在定义后,默认是全局变量

<?php
echo "区分大小写<br>";
define("GREETING", "欢迎访问 baidu.com");
echo GREETING;    // 输出 "欢迎访问 baidu.com"
echo '<br>';echo "greeting";   // 输出 "greeting"
echo "<br>不区分大小写<br>";
define("GREETING", "欢迎访问 baidu.com", true);
echo greeting;  // 输出 "欢迎访问 baidu.com"

在线运行

PHP 并置运算符##

在 PHP 中,只有一个字符串运算符。
并置运算符** (.) **用于把两个字符串值连接起来。

<?php
$txt1="Hello world!";
$txt2="Today a nice day!";
echo $txt1 . " " . $txt2;

在线运行

PHP strlen() 函数##

有时知道字符串值的长度是很有用的。
strlen() 函数返回字符串的长度(字符数)。

<?php
echostrlen("Helloworld!");
?>

在线运行

PHP strpos() 函数##

strpos() 函数用于在字符串内查找一个字符或一段指定的文本。
如果在字符串中找到匹配,该函数会返回第一个匹配的字符位置。如果未找到匹配,则返回 FALSE。

<?php
echostrpos("Helloworld!","world");
?>

在线运行

PHP运算符##

在 PHP 中,赋值运算符 = 用于给变量赋值。
在 PHP 中,算术运算符 + 用于把值加在一起。

<?php
$x=10;
$y=6;
echo "<br> +  ";
echo ($x + $y); // 输出16
echo "<br> -  ";
echo ($x - $y); // 输出4
echo "<br> *  ";
echo ($x * $y); // 输出60
echo "<br> /  ";
echo ($x / $y); // 输出1.6666666666667
echo "<br> %  ";
echo ($x % $y); // 输出4

在线运行

PHP7+ 版本新增整除运算符intdiv(),###

<?php
var_dump(intdiv(10, 3));
?>

在线运行

PHP 逻辑运算符

运算符 名称 描述 实例
x and y 如果 x 和 y 都为 true,则返回 true x=6y=3(x < 10 and y > 1返回 true
x or y 如果 x 和 y 至少有一个为 true,则返回 true x=6y=3(x==6 or y==5) 返回 true
x xor y 异或 如果 x 和 y 有且仅有一个为 true,则返回 true x=6y=3(x==6 xor y==3) 返回 false
x && y 如果 x 和 y 都为 true,则返回 true x=6y=3(x < 10 && y > 1) 返回 true
x II y 如果 x 和 y 至少有一个为 true,则返回 true x=6y=3(x==5 II y==5) 返回 false
! x 如果 x 不为 true,则返回 true x=6y=3!(x==y) 返回 true

PHP 数组运算符##

运算符 名称 描述
x + y 集合 x 和 y 的集合
x == y 相等 如果 x 和 y 具有相同的键/值对,则返回 true
x === y 恒等 如果 x 和 y 具有相同的键/值对,且顺序相同类型相同,则返回 true
x != y 不相等 如果 x 不等于 y,则返回 true
x <> y 不相等 如果 x 不等于 y,则返回 true
x !== y 不恒等 如果 x 不等于 y,则返回 true
<?php
$x = array("a" => "red", "b" => "green");
$y = array("c" => "blue", "d" => "yellow");
$z = $x + $y; // $x 和 $y 数组合并
var_dump($z);
var_dump($x == $y);
var_dump($x === $y);
var_dump($x != $y);
var_dump($x <> $y);
var_dump($x !== $y);

在线运行

三元运算符##

另一个条件运算符是"?:"(或三元)运算符 。

(expr1) ? (expr2) : (expr3) 

对 expr1 求值为 TRUE 时的值为 expr2,在 expr1 求值为 FALSE 时的值为 expr3。自 PHP 5.3 起,可以省略三元运算符中间那部分。表达式 expr1 ?: expr3 在 expr1 求值为 TRUE 时返回 expr1,否则返回 expr3。


<?php
$test = 'Today is a nice day!';
//$test = '';
// 普通写法
$username = isset($test) ? $test : 'nobody1';
echo $username, PHP_EOL;
//PHP_EOL 换行
// PHP 5.3+ 版本写法
$username = $test ?: 'nobody2';
echo $username, PHP_EOL;

在线运行
在 PHP7+ 版本多了一个 NULL 合并运算符,

<?php
// 如果 $_GET['user'] 不存在返回 'nobody',否则返回 $_GET['user'] 的值
$username = $_GET['user'] ?? 'nobody';// 类似的三元运算符
$username = isset($_GET['user']) ? $_GET['user'] : 'nobody';
?>

if else##

  • if 语句 - 在条件成立时执行代码
  • if...else 语句 - 在条件成立时执行一块代码,条件不成立时执行另一块代码
  • if...else if....else 语句 - 在若干条件之一成立时执行一个代码块
  • switch 语句 - 在若干条件之一成立时执行一个代码块

switch##

<?php

/**
 * Created by Zoe.
 * User: Administrator
 * Date: 2017/1/23
 * Time: 9:10
 */
$favcolor="red";
switch ($favcolor)
{
    case "red":
        echo "你喜欢的颜色是红色!";
        break;
    case "blue":
        echo "你喜欢的颜色是蓝色!";
        break;
    case "green":
        echo "你喜欢的颜色是绿色!";
        break;
    default:
        echo "你喜欢的颜色不是 红, 蓝, 或绿色!";
}

php数组##

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,835评论 4 364
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,598评论 1 295
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 109,569评论 0 244
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,159评论 0 213
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,533评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,710评论 1 222
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,923评论 2 313
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,674评论 0 203
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,421评论 1 246
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,622评论 2 245
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,115评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,428评论 2 254
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,114评论 3 238
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,097评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,875评论 0 197
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,753评论 2 276
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,649评论 2 271

推荐阅读更多精彩内容

  • PHP 简介 和 开发环境配置 PHP(Hypertext Preprocessor)是全球最流行的Web程序开发...
    流云012阅读 564评论 1 2
  • [if !supportLists]1.[endif]PHP基础(变量的八种类型、empty和isset、null...
    4e855d444c9f阅读 547评论 0 0
  • 软件体系结构 1.单主机结构 界面显示、业务逻辑和数据存取功能都是在用户主机上实现,需要下载软件并安装,易盗版 2...
    sidney_c阅读 739评论 2 3
  • 一、php可以做什么 php是一种可以在服务器端运行的编程语言,可以运行在Web服务器端。 php是一门后台编程语...
    空谷悠阅读 3,016评论 4 97
  • 1.变量 变量名的命名规范需要“$”进行标识变量名必须以字母或下划线 “_”开头变量名只能由字母、数字、以及“_”...
    苏宇lovecc阅读 1,264评论 1 8