PHP基础入门(一)
PHP功能
1、运行在服务器端:学会了PHP,就可以指挥服务器给你干活。WEB网站的大部分数据都是存储在服务器端的,PHP就是用来处理这些存储在服务器的数据的。
2、跨平台:服务器可以是多种平台的服务器,比如Linux、Windows、Unix,都可以指挥。
3、脚本语言:它是通过编写脚本,也就是一行行的计算机指令(也可以理解为特定的英文单词),来指挥服务器来工作的,因此,在编写PHP的过程其实就是与老外(服务器)交流的过程,交流的语言就是PHP。
4、免费:免费使用。
简单输出
<?php
echo "Hello World";
?>
<?php echo 23+6;?>
<?php echo 23*6;?>
在PHP编程中需要在每条语句的末尾加入分号;。
分号;一定在半角状态下输入。
<?php
echo "欢迎同学们!";
echo "Welcome," . " come on!";
echo 1+2+3+4+5;
?>
PHP-字符串
一个字符串是用双引号括起来的一个词或一个句字,也可以用单引号括起来。
<?php echo "Hi,come on!";?>
<?php echo 'Hi,come on!';?>
可以把两个字符用连接符连接起来。
注意:连接符可以连接多个字符串
在php中字符串连接符是用点(.)来表示的,这一点比较特殊,其它语言中是用加号(+)来表示的,比如:JavaScirpt、Asp、C。
<?php "哈哈哈哈"."你真棒" ?>
注释
//请输入:
定义变量
定义变量就是向服务器的内存(服务器的内存,我们可以当做一个大仓库)申请空间(我们可以理解为一个子仓库),用来存储数据。
1、要把代码写在<?php和?>之间,用空格隔开;
2、左边变量名,右边变量值,中间用=,等号是赋值,结束用;表示;
3、变量名命名规则,一般情况下一个变量只能装一个值,除非是复合变量(后面变量类型时记录)
还需要一个$做标记;
<?php
$var="大家来学PHP";//定义
echo $var;
echo "<br />";
$var="学PHP";
echo $var;
?>
<?php
$var_name = “苹果”;
$n = 10;
?>
变量规则
1、变量名必须以字母或下划线 “_”开头,如”
n
a
m
e
”
,
”
_name”,”
name”,”name” ,”$name2”等,但是”$9name”是不对的。
2、变量名只能由字母、数字、以及“_”组成,还能包含汉字。如” q q ” , ” _qq”,” qq”,”qq308” ,” m y a p p l e ” , “ 比 如 " my_apple”,“比如" myapple”,“比如"name我等”,但是”$name*”是不对的。
3、变量名不允许包含空格。当变量名由多个单词组成,建议使用“_”进行分隔(比如 $my_apple),俗称下划线法,或者以大写字母开头比如 $myApple,俗称骆驼式命名法(也称驼峰命名法)。
特别需要注意的是,在PHP中变量名是区分大小写的。
如“
m
y
b
o
o
k
”
与
“
my_book”与“
mybook”与“my_Book”代表两个不同的变量。大写的变量名“
m
y
B
O
O
K
”
没
有
把
小
写
的
变
量
名
“
my_BOOK”没有把小写的变量名“
myBOOK”没有把小写的变量名“my_book”的值覆盖,可见变量名可是对大小写敏感的。
<?php
$my_book = "我的小写的book";
$my_BOOK = "我的大写的BOOK";
echo $my_book;
echo "<br />";
echo $my_BOOK;
echo "<br />";
$my_book = "这次奇迹要发生啦";
echo $my_book;
echo "<br />";
?>
变量的数据类型(1)
在PHP中,支持8种原始类型,其中包括四种标量类型、两种复合类型和两种特殊类型。
定义字符串类型“
v
a
r
s
t
r
i
n
g
=
"
123
"
;
”
定
义
整
型
“
var_string = "123";” 定义整型“
varstring="123";”定义整型“n=123;”
定义浮点型“
f
=
123.00
;
”
定
义
数
组
“
f=123.00;” 定义数组“
f=123.00;”定义数组“var_array = array(“123”);”
<?php
echo $m1 = memory_get_usage();
echo "<br />";
$var_string="123";
echo $m2 = memory_get_usage()-$m1;
echo "<br />";
$n=123;
echo $m3 = memory_get_usage()-$m1-$m2;
echo "<br />";
$f=123.00;
echo $m4 = memory_get_usage()-$m1-$m2-$m3;
echo "<br />";
$var_array=array("123");
echo $m5 = memory_get_usage()-$m1-$m2-$m3-$m4;
?>
输出分别为初始化消耗,字符串,整型,浮点型,数组消耗。
根据操作系统、PHP版本以及PHP的运行方式可能输出结果会不同。
变量的数据类型(2)
PHP是一门松散类型的语言,不必向PHP声明变量的数据类型,PHP会自动把变量转换为自动的数据类型,一定程度降低了学习PHP的门槛。
如果接触过C语言或者JAVA语言,就会发现在声明变量的时候需要声明变量的数据类型。
<?php
$string="哈哈哈";
var_dump($string);
echo "<br />";
$string=111;
var_dump($string);
echo "<br />";
?>
输出:
变量的数据类型(3)
布尔类型(boolean):只有两个值,一个是TRUE,另一个FALSE,可以理解为是或否。它不区分大小写,也就是说”TRUE”和“true”效果是一样的。主要用在条件结构中,例如判断是否满足条件的时候,是用“true”表示满足,用“false”表示不满足。
需要注意的是,当我们用”echo”指令输出布尔类型时,如果是“true”则输出的是“1”,“false”则什么也不输出。
我们可以使用“var_dump”函数,获取它真正的数据类型。
<?php
$man="男";
$flag=$man=="男";
echo $flag ;
echo "<br />" ;
var_dump($flag);
?>
输出为:
<?php
$man="男";
$flag=$man=="女";
echo $flag ;
echo "<br />" ;
var_dump($flag);
?>
输出为:
其中使用“==”等于比较运算符。
我们可以发现,使用”echo”指令输出结果为1,“var_dump”给我们表明了“$flag”为布尔类型的身份。
变量的数据类型(4)
整型(integer):类似于常见的整数。
它可以用十进制、八进制、十六进制指定。
十进制就是日常使用的数字;
八进制,数字前必须加上“0”(这个0是阿拉伯数字0);
十六进制,数字前必须加“0x” (这个0也是阿拉伯数字0)。
<?php
$data_int1=123;//十进制
echo $data_int1;
echo "<br />";
$data_int2=-123;//负数
echo $data_int2;
echo "<br />";
$data_int3=0123;//八进制
echo $data_int3;
echo "<br />";
$data_int4=0x123;//十六进制
echo $data_int4;
echo "<br />";
?>
输出为:
变量的数据类型(5)
浮点型(浮点数、双精度数或实数),也就是通常说的小数,可以用小数点或者科学计数法表示。
科学计数法可以使用小写的e,也可以使用大写的E。“E”和“e”的前后都不要有空格
<?php
$num_float1=1.234;//普通浮点数
echo $num_float1;
echo "<br />";
$num_float2=1.2e3;//1.2乘以十的三次方
echo $num_float2;
echo "<br />";
$num_float3=7.0E-3;//7.0乘以10的-3次方
echo $num_float3;
echo "<br />";
?>
输出为:
变量的数据类型(6)
标量类型-字符串(一)
字符串是由一系列字符组成,在PHP中,字符和字节一样,也就是说,一共有256种不同字符的可能性。
字符串型可以用三种方法定义:单引号形式、双引号形式和Heredoc结构形式。
单引号开始要以单引号结束,双引号开始要双引号结束;
记得单引号和双引号都是英文的。
<?php
$str_string1='我是字符串';//单引号
$str_string2 = "我也是字符串哦";//双引号
echo $str_string1;
echo "<br />";
echo $str_string2;
?>
输出为:
变量的数据类型(7)
标量类型-字符串(二)
要想在字符串中包含引号:
第一种方案:在单引号中嵌入双引号;
第二种方案:在双引号中嵌入单引号;
第三种方案:使用转义符“\”;
<?php
$str_string1='甲问:"你学习PHP了吗?"';//单引号里嵌入双引号
$str_string2="乙毫不犹豫地回答:'当然咯!'";//双引号里嵌入单引号
$str_string3 = '甲问:\'能带我一起学习吗?\'';//单引号里用转义字符\'
$str_string4 = "乙答道:\"当然可以!\"";//双引号里用转义字符\"
echo $str_string1;
echo "<br />";
echo $str_string2;
echo "<br />";
echo $str_string3;
echo "<br />";
echo $str_string4;
echo "<br />";
?>
输出为:
变量的数据类型(8)
标量类型-字符串(三)
当引号遇到美元咋办?(就是用美元符号标识的变量):
当双引号中包含变量时,变量会与双引号中的内容连接在一起;
当单引号中包含变量时,变量会被当做字符串输出。
<?php
$love = "I love you!";
$string1="haha,$love";//当双引号中包含变量时,变量会与双引号中的内容连接在一起;
$string2='haha,$love';//当单引号中包含变量时,变量会被当做字符串输出。
echo $string1;
echo "<br />";
echo $string2;
?>
输出为:
变量的数据类型(9)
标量类型-字符串(四)
当字符串很长怎么办?
我们可以使用Heredoc结构形式的方法来解决该问题,首先使用定界符表示字符串(<<<),接着在“<<<“之后提供一个标识符GOD,然后是字符串,最后以提供的这个标识符结束字符串。
在赋值符号后,输入定界符“<<<”,接着是标识符,你可以用你的女神作为标识符“GOD”,也可以使用你喜欢的狗狗,“DOG”作为标识符,但是,结尾处的标识符也必须是一样的。
此外,在结尾的一行,一定要另起一行,并且此行除了“GOD”,并以“;”号结束之外,不能有任何其他字符,前后都不能有,包括空格,切记。
<?php
$string1=<<<GOD
我有一只小毛驴,我从来也不骑。
有一天我心血来潮,骑着去赶集。
我手里拿着小皮鞭,我心里正得意。
不知怎么哗啦啦啦啦,我摔了一身泥.
GOD;//DOG 同理
echo $string1;
?>
输出为:
变量的数据类型(10)
PHP第一种特殊类型—资源
资源(resource):资源是由专门的函数来建立和使用的,例如打开文件、数据连接、图形画布。我们可以对资源进行操作(创建、使用和释放)。任何资源,在不需要的时候应该被及时释放。如果我们忘记了释放资源,系统自动启用垃圾回收机制,在页面执行完毕后回收资源,以避免内存被消耗殆尽。
假设服务器上有个文件为“f.txt”,这时候,我们就需要用到资源这种特殊的数据类型。
f.txt文本文件保存时一定要设置为UTF-8格式,避免出现乱码。
<?php
//首先采用“fopen”函数打开文件,得到返回值的就是资源类型。
$file_handlw=fopen("/data/webroot/resourse/php/f.txt","r");
if ($file_handle){
//接着采用while循环(后面语言结构语句中的循环结构会详细介绍)一行行地读取文件,然后输出每行的文字
while (!feof($file_handle)) { //判断是否到最后一行
$line = fgets($file_handle); //读取一行文本
echo $line; //输出一行文本
echo "<br />"; //换行
}
}
fclose($file_handle);//关闭文件
?>
变量的数据类型(11)
PHP第二种特殊类型—空类型
NULL(NULL):NULL是空类型,对大小写不敏感,NULL类型只有一个取值,表示一个变量没有值,当被赋值为NULL,或者尚未被赋值,或者被unset(),这三种情况下变量被认为为NULL。
<?php
error_reporting(0); //禁止显示PHP警告提示
$var;//变量未赋值
var_dump($var);
$var1=null;//将“null”赋值给变量“$var1”
var_dump($var1);
$var2=NULL;//将“NULL”赋值给变量“$var2”
var_dump( $var2);
$var3 = "节日快乐!";
unset($var3);//“unset($var3);”,将变量“$var3”注销定义
var_dump($var3);
?>
输出为:
PHP基础入门(二)(常量)
https://editor.csdn.net/md/?articleId=104874008
PHP基础入门(三)(运算符)
https://editor.csdn.net/md/?articleId=104876151
PHP基础入门(四)(语言结构语句)
https://editor.csdn.net/md/?articleId=104878034