网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
PHP(PHP: Hypertext Preprocessor)即“超文本预处理器”,是在服务器端执行的脚本语言,尤其适用于Web开发并可嵌入HTML中。PHP语法学习了C语言,吸纳Java和Perl多个语言的特色发展出自己的特色语法,并根据它们的长项持续改进提升自己,例如java的面向对象编程,该语言当初创建的主要目标是让开发人员快速编写出优质的web网站。 PHP同时支持面向对象和面向过程的开发,使用上非常灵活。
环境搭建
我们可以在官网上找到xampp(建站集成软件包)进行下载:
或者点击进入打开上传好的资源
然后按照步骤打开:
然后点击next进行安装:
这里看个人的需求可以选择性的进行勾选:
当我们选择安装路径的时候最好不要选择过深路径,并且是不允许出现中文名称的:
选择好路径后next:
如果出现类似于以下这张图片的话,关掉即可:
接下来开始安装:
等待片刻:
出现弹窗,允许访问即可:
点击finish:
设置语言,单机save:
点击start开启服务:第一个是阿帕奇服务器,第二个是数据库:
当出现绿色高光时,就表示启动正常:
【启动过程中遇到的问题解决方法】
1、 apache无法启动:单击apach后的config按钮,打开带ssl的那个配置文件,把443改成444,一般进行至这一步就可以启动了。
【如果到这里还是无法启动,请尝试下面的操作】
2、单击config,选择不带ssl的httpd配置文件,找到Listen 80,将其改成Listen 8080,再重新启动服务
3、测试服务器是否安装成功:在地址栏输入:http://localhost:8080 回车,(如果端口号没有改,那么在浏览器地址栏中输入:http://localhost:80)出现以下界面证明安装成功:
在编写程序前需要注意的是,因为使用的这个服务器是阿帕奇的服务器,在使用hbuilder进行编写时,我们编写的所有PHP程序都需要在htdocs目录下才能正常运行。
程序编写
1.PHP的书写方式以及注意事项
<?php ?> 是PHP的标记对,之间用来存放PHP代码;
再就是PHP中变量的命名规范:
以$开头,后面跟标识符; 变量名需要区分大小写; 变量名遵循驼峰标记法或者是下划线标记法,比如:first_name; 大驼峰:FirstName;小驼峰firstName; 变量名的命名要简单明了,方便识记
2.echo和输出语句
PHP里的echo是一种输出字符串的语法或函数,当后面直接跟随空格和字符串时是语法,起到输出作用:
<?php
echo 'hello world';
//这时我们打开浏览器,解析运行出结果为 hello world
?>
当然也可以通过将一个字符串赋给一个变量,通过输出变量($str)的值来输出字符串:
<?php
$str='hello world';
//输出hello world
echo $str;
也可以输出包含html的标签;
<?php
echo 'hello <br> world';
?>
输出多个参数:
<?php
echo 'This ','string ','was ','made ','with multiple parameters.';
//需要注意的是在PHP中单引号和双引号是有区别的:单引号将输出变量名称,而不是值
?>
关于引号,就比如:
<?php
$a='world';
echo "hello $a";//输出hello world
echo "<br>";//换行
echo 'hello $a';//输出hello $a
?>
双引号能够解析其中的变量,单引号不能解析,只能原样输出;
如果希望在双引号输出的时候,直接将字符输出,需要使用到转义字符;
在实际应用中国尽量使用单引号,因为单引号不需要解析,速度比较快。
还可以更改字符串并输出:
<?php
$a='hello';
echo $a{1};
echo "<br>";
$a{4}='w';
echo $a;
echo "<br>";
$a{5}='!';
echo $a;
echo "<br>";
?>
输出结果:
输出连接的字符:
<?php
$a='hello';
$b='world';
echo $a." " .$b;
?>
//在PHP中连接符是.
如果要输出一个含有单引号的字符串,这个时候可以借助转义字符:
<?php
echo 'hello \'world \'';
//注意这里全部都是单引号
//输出hello'world'
?>
另外在php中还有一些转义字符
PHP中的转义字符有:
" \n" 换行
"\r"回车
"\t"水平制表符
""反斜杠
“$” 美元符号
" 英文斜杠’ "单引号
" 英文斜杠" " 双引号
PHP中的输出语法还有:
echo | 可以输出一个或多个字符串 |
---|---|
只能输出简单类型变量的值,如int,string | |
print_r | 可以输出复杂类型变量的值,以更容易理解的形式展示。如数组,对象 |
printf | 函数用于格式化输出字符串,主要用于字符串中以%开头的格式字符串替换 |
sprintf | 函数也用做字符串格式化。该函数与 printf 函数基本相同, 但它可以将转换后的结果保存到一个字符串变量中,而不是直接输出 |
var_dump | 打印变量的相关信息,包括表达式的类型与值,通过缩进显示其结构 |
实现一下:
<?php
print "hello world";
//输出hello world
?>
<?php
$a=array('a' => 'apple', 'b' => 'banana', 'c' => array ('x','y','z'));
print\_r ($a);
输出结果:
$number = 1;
$str = "hello world!";
printf("今天是星期%u ,看见纸上写着 %s.",$number,$str);
输出结果:
<?php
$number = 1;
$str = "hello world!";
$txt = sprintf("今天是星期%u,看见纸上写着%s", $number, $str);
echo $txt;
?>
输出结果:
<?php
$a = array(1, 2, array("a", "b", "c"));
var\_dump($a);
?>
输出结果:
提示:echo输出的速度比print快,echo是PHP语句,没有返回值,print和print_r是PHP函数,函数有返回值。
print返回值为1(int类型),print_r返回值为true(bool类型)。
3.数据类型
有关数据类型我们可以用 var_dump来表示出来:
$a=5;
var\_dump($a);
echo "<br>";
$b="hello world";
var\_dump($b);
echo "<br>";
$c=3.14;
var\_dump($c);
echo "<br>";
$d=true;
var\_dump($d);
输出结果:
或者是使用php的检查数据类型的函数来进行数据类型的判断:
可以实现一下:
$a=5;
$b="hello world!";
$c=3.14;
$d=314;
if(is\_int($a)){
echo "$a"."是int型数据"."<br>";
}else{
echo "$a"."的数据类型是:".is\_int($a);
}
if(is\_string($b)){
echo "$b"."是string型数据"."<br>";
}else{
echo "$b"."的数据类型是:" .is\_string($b);
}
if(is\_float($c)){
echo "$c"."是float型数据" ."<br>";
}else{
echo "$c"."的数据类型是".is\_float($c);
}
if(is\_float($d)){
echo "$d"."是float型数据" ."<br>";
}else{
echo "$d"."的数据类型是:";
var\_dump($d);
}
来看一下结果:
4.值传递和引用传递
php默认的一般情况下,都使用的是值传递
值传递
指将一个变量的数据值(数据内容)复制一份,然后赋值给另一个变量,就是变量之间进行普通赋值。
$a=1;
$b=$a;
$b++;
//b的值是2,a的值是1


**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**
**[需要这份系统化资料的朋友,可以戳这里获取](https://bbs.youkuaiyun.com/forums/4f45ff00ff254613a03fab5e56a57acb)**
**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**
指将一个变量的数据值(数据内容)复制一份,然后赋值给另一个变量,就是变量之间进行普通赋值。
$a=1;
$b=$a;
$b++;
//b的值是2,a的值是1
[外链图片转存中…(img-ztytmiJc-1715422084324)]
[外链图片转存中…(img-8MlvrE2i-1715422084324)]
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!