4月24 php基础及函数的应用
PHP是一种被广泛认可应用,运行在服务端的脚本语言,PHP需要安转PHP应用程序服务器去解释执行,是用来协助Web服务器工作的编程语言,因此所写的任何代码只有在www文件下的才能实施预览。PHP是一种弱类型语言,开发的环境也比较的随便,可以在DW中或在记事本中编写代码都是可以的。在DW中写在<body></body>内
PHP的语言标记:
<?php ?>是最最常见的,应用最广泛
<? ?> 是简短风格的标记,会被禁用干扰,在特定的环境下才可以,一般不考虑
<% %>课本有介绍,老师没有讲
PHP输出语句:
<?php
echo "hello"; //最常见的输出语句
print "word"; //也可以输出,但是不同在于只能输出一个字符串,不能多个
echo "hi","nihao"; //像这样时print则不可以
?>
PHP的注释方法:
与c#中的注释是相同的,// 是单行注释,/* */是多行的注释
数据类型
在c#中常见的数据类型是:int double float string char(字符型) datetime bool
而在PHP中由于其是弱类型语言,则前面不需要添加变量名,但是全部都需要以$符号开头
<?php
$a=5; //定义整型
$b=5.5; //小数型
$c=5.55; //双精度浮点型
$d=ture; //bool型
echo $d;
?>
与c#中不同的是,而且要特别注意,是关于可变变量
<?php
$a="hello";
$hello="world";
echo $$a; //输出word
echo "$a $hello"; //输出hello word
echo "$a ${$a}"; //输出hell word
?>
<?php
$a=5; //空或是0表示false,1表示true
echo isset($a); //当$a没有被定义时,输出空白页面,$a定义时输出1
unset($a); //清除bianliang
empty($a); //判断变量是否为空
echo isset($a);
?>
变量的引用赋值&的一些注意事项
PHP中提供了另一种方式给另一个变量:引用变量,所用&
<?php
$a=5;
$b=&$a; //&取地址,取了$a的值
echo $a; //输出5
echo "<br />";
echo $b; //输出5
$b=10;
echo $a; //输出10 因为&取地址后一个发生变化,相应的关联的也会变化
echo "<br />";
echo $b; //输出10
$foo="bob";
$bar=&$foo;
echo $bar; //没有发生改变之前只把地址传过去
$bar="hello my love"; //一个改变其余那个也变了
echo $bar;
echo $foo;
$foo="nihao nihao nihao"; //两者那个变化其余发生改变成立
echo $bar;
echo $foo;
$foo=25;
$bar=&$foo;
$bar=&(5*7); //无效的赋值,错误的
function test()
{
return 25;
}
$bar=&test();
$a=25;
$b=&$a;
unset($b); //清空变量
echo $a; //输出25
echo isset($b); //空的,同上
?>
准确输出,有转换的写法
<?php
$a=5;
var_dump($a); //输出变量的准确类型
$b =(string)$a; //类型转换
var_dump($b);
$c=(float)$a;
var_dump($c);
?>
PHP中的运算符号:
大部分和c#中是一样的,特别注意/,在c#中是去商的,因为他们的类型不能相互转换
int a=3;
int b=10;
b/a=3;
而在PHP中
<?php
$a=10;
$b=3;
echo $a/$b; //输出3.333333可以自动转换
echo "nihao"."hello"; //在php中字符串的拼接是用.,而不是像c#中用+
?>
没有操作好知道就可以:
@的作用是错误抑制符,可以屏蔽错误
例如:echo @$a;
三目运算符:在c#中是条件运算符
<?php
echo 5==5?"男":"女"; //条件运算符在c#中,,, 现在三目运算符
?>
条件成立吗?是输出前面的,否输出:后面的 //上题输出男
以上是24号上午老师所讲的内容,
对于运算的++,--还有一定的总结
<?php
$a=10;
$b=$a++; //先进性赋值 $b=$a=10; $a=$a+1;
echo $a; // 输出11
echo $b; // 输出10
$a = 10;
$b = ++$a; //先进行运算的$a=$a+1;再赋值 $b=$a;
echo $a; // 输出11
echo $b; // 输出11
$a=10;
$b=$a--; //先进性赋值 $b=$a=10; $a=$a-1;
echo $a; // 输出9
echo $b; // 输出10
$a = 10;
$b = --$a; //先进性运算 $a=$a-1;然后$b=$a;
echo $a; // 输出9
echo $b; // 输出9
?>
以上是PHP的数据类型,以及基础的知识点
PHP中的语句:条件语句,循环语句,分支语句与c#是同样的
条件语句:
<?php
$a=5;
if($a==8)
{
echo "正确";
}
else
{
echo "不相等";
}
?>
条件语句形式有:与c#中是完完全全相同的
//if
//if....else....
//if...else if...
//if的嵌套
switch case类型的:
<?php
$a=7;
switch($a)
{
case 1:
echo "111"; //当没break时候则输出后面的所有
break;
case 2;
echo "222";
break;
case 3:
echo "333";
break;
default: //不在范围内的时候默认输出
echo "不在范围";
}
?>
循环语句
for类型的
for($i=1;$i<10;$i++)
{
echo $i."<br>";
}
while类型的
$a=1;
while($a<10)
{
echo $a."<br>";
$a++;
}
循环语句两种形式与c#中是完全相同的
函数的一些重点内容
函数四要素:返回类型,函数名(函数名最好是用首字母大写),参数(可以有也可以没有),函
数体。这里一定要区分好在c#中,例如:pulic void name(){},在js中function name(){}
PHP中的函数问题:
最简单的
<?php
function Show()
{
echo "hello";
}
Show();
//有参数的函数
//有参数的
function Show($a,$b)
{
echo $a+$b;
}
Show(3,4);
Show(3,4,5); //可以多写但是不可少些
//有默认值的函数
function Show($a=5,$b=5)
{
echo $a+$b;
}
Show(3) //有默认值时看看是否被覆盖输出时3+5=8
Show(2,3);//输出是5
//参数可变的函数
function Show()
{
$attr = func_get_args(); //通过方法可以自动获取函数的参数
$sum =0;
for($i=0;$i<count($attr);$i++) //func_num_args() 获取参数的个数
{
$sum =$sum+$attr[$i];
}
echo $sum;
}
Show(1,2,3);
//两种方法是一样的
function Show()
{
$attr = func_get_args(); //通过方法可以自动获取函数的参数
$sum =0;
$a=func_num_args();
for($i=0;$i<$a;$i++) //func_num_args() 获取参数的个数
{
$sum =$sum+$attr[$i];
}
echo $sum;
}
Show(1,2,3);
//有返回值的函数
function Show()
{
return "aaaa";
}
echo Show();
//常用的函数
//随机数的函数
echo rand()."<br>"; //括号里面没有写的时候范围很广
echo rand(2,7)."<br>"; //从2到7随机数字
echo rand()%75; //课本上讲的
//时间函数
echo time(); //此时输出的是时间戳
echo date("Y-m-d H:i:s"); //因为时间没有设置东八区的时间所有不准确
date_default_timezone_set('PRC'); //PRC也可以是"Etc/GMT-8"
echo date("Y-m-d H:i:s:ms"); //ms是毫秒
echo strtotime("2016-4-24"); //将时间格式转换为时间戳 php中时间的方式 与上面的正好
相反
//字符串处理函数 都是重点需要完全记住
$a="hello";
echo strlen($a); //返回字符串的长度
echo strcmp("Hello","Hello"); //需要两个字符串作为参数,比较两个字符串是否相等,区分
大小写,相等0,1or-1都是不等
echo strcasecmp("hello","Hell"); //需要两个字符串作为参数,比较两个字符串是否相等,不区
分大小写,相等0,1or-1都是不等
echo strtolower("HELLO"); //将字符串装换为小写
echo strtoupper("word"); //将字符串装换为大写
$str ="hello|word|join|on";
var_dump(explode("|",$str)); //拆分字符串 返回数组,在$str中以|未拆分 不能用
echo输出
$attr=array("aaa","111","ccc");
echo implode("#",$attr); //将数组拼接成字符串,
$str="hello|aa|bbb|cccc";
echo substr_replace($str,"wwww",0,6); //首先|也是一个字符串,从a索引截取长度是b,用
w替换,0是索引,6是长度 替换字符串(后面两个决定)
echo str_replace("c","q",$str); //查找并全部替换,将c全部替换成q
echo substr("$str",8,3); //从哪个位置开始截取,截取长度5
?>
关于单引号和双引号的一些用法: P55
单引号:指定的一个简单的字符串的最简单的方法,在单引号中不能再含有单引号
<?php
$s1="hello"; //简单的定义都是可以的
$s2='join';
//1.双引号里面可以使用转义字符,单引号里面不可以使用会原样输出,不能使用
//输出hello"word
$s1="hello'word";
$s2="hello\"word"; // \是转义字符 双引号里面可以使用转义字符
$s3='hello"word';
$s4='hello\"word'; //会原样输出
echo $s1."<br>"; //单引号里面可以写双引号,双引号里面可以写单引号
echo $s2."<br>";
echo $s3."<br>";
echo $s4."<br>";
//2.双引号里面可以解析变量,单引号里面不行
$a="join";
$s1="hello\"{$a}word"; //把变量a嵌套在字符串中
echo $s1."<br>";
$s2='hello\"{$a}word'; //原样输出
echo $s2;
//定义字符串(块),这个字符串很大很大
echo "<div style='color:white; background-color:red; height:50px;
width:80px;'>hello</div>";
//双引号里面的引号改成单引号
//另外一种方法
$str =<<<ETO
<div style=" background-color:red; color:white; width:100px; height:50px">hello</div>
<div style=" background-color:red; color:white; width:100px; height:50px">wold</div>
ETO;
echo $str;
//<<<ETO首先之间不能有任何字符,空格都不可以,要用大写,名字随便
$a=<<<NAME
<div>111</div>
<div>222</div>
<div>333</div>
<div>444</div> //div之间不可以用分号
NAME;
echo $a;
?>
4月24 php基础及函数的应用的更多相关文章
- 36.React基础介绍——2019年12月24日
2019年12月24日16:47:12 2019年10月25日11:24:29 主要介绍react入门知识. 1.jsx语法介绍 1.1 介绍 jsx语法是一种类似于html标签的语法,它的作用相当于 ...
- 北京Uber优步司机奖励政策(4月24日)
滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...
- 北京Uber优步司机奖励政策(3月24日)
滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...
- 北京Uber优步司机奖励政策(2月24日)
滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...
- 北京Uber优步司机奖励政策(1月24日)
滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...
- 北京Uber优步司机奖励政策(12月24日)
滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...
- 35.ES6语法介绍——2019年12月24日
2019年12月24日16:22:24 2019年10月09日12:04:44 1. ES6介绍 1.1 新的 Javascript 语法标准 --2015年6月正式发布 --使用babel语法转换器 ...
- 如何看待 SAE 在2014 年 3 月 24 日发生的的大面积宕机事故?
3 月 24 日晚间大约 23 点左右,新浪云 SAE 一处核心机柜掉电,导致 SAE 平台下大量应用无法正常访问,并在 10 小时后才陆续修复.这次事故暴露 SAE 的哪些缺陷?SAE 运维人员又是 ...
- SQL PASS将于8月24日在北京中医药大学举办线下活动
活动主题:复制架构的实现和调优以及SQL Server BI在传统行业的应用 地点:北三环东路11号 北京中医药大学 白色的1号楼教学楼后楼5层511房间 时间:2013年8月24日 9:00-12: ...
随机推荐
- AtCoder Beginner Contest 117 解题报告
果然abc都是手速场. 倒序开的qwq. D题因为忘记1e12二进制几位上界爆了一发. A - Entrance Examination 就是除一下就行了... 看样例猜题意系列. #include& ...
- P2163 [SHOI2007]园丁的烦恼(cdq分治)
思路 其实是cdq的板子 题目要求询问对于每个给出的xi,yi,xj,yj形如xi<=x<=xj.yi<=y<=yj的x,y对数有多少组 改成四个询问,拆成四个前缀和的形式后就 ...
- 编译caffe的Python借口,提示:ImportError: dynamic module does not define module export function (PyInit__caffe)
>>> import caffeTraceback (most recent call last): File "<stdin>", line 1, ...
- 检测浏览器(BOM)以及地址栏网址的API
navigator.userAgent //检测浏览器的版本以及那个厂商的 (不怎么准,你比如360经常跟别人干架,所以别人检测到360浏览器就提示浏览器危险,所以360就自己修改了) //分解这个地 ...
- [implements] - 一个接口的使用
4种货物,如何使用一个接口实现CRUD: package com.tansuo365.test1.service.goods; import com.tansuo365.test1.entity.Go ...
- LightOJ 1258 Making Huge Palindromes(KMP)
题意 给定一个字符串 \(S\) ,一次操作可以在这个字符串的右边增加任意一个字符.求操作之后的最短字符串,满足操作结束后的字符串是回文. \(1 \leq |S| \leq 10^6\) 思路 \( ...
- Redis架构设计
高可用Redis服务架构分析与搭建 各种web开发业务中最为常用的key-value数据库了 应用: 在业务中用其存储用户登陆态(Session存储),加速一些热数据的查询(相比较mysql而言,速度 ...
- RequestMethod用法小结和注意事项
本文为博主原创,未经允许不得转载: RequestMethod为在@RequestMapping注解中使用的一个属性,用来标识请求的方法类型,可参考@RequestMapping源码: @Target ...
- 「BZOJ2153」设计铁路 - 斜率DP
A省有一条东西向的公路经常堵车,为解决这一问题,省政府对此展开了调查. 调查后得知,这条公路两侧有很多村落,每个村落里都住着很多个信仰c教的教徒,每周日都会开着自家的车沿公路到B地去"膜拜& ...
- UVa 11107 生命的形式(不小于k个字符串中的最长子串)
https://vjudge.net/problem/UVA-11107 题意:给定n个字符串,求出现在不小于n的一半个字符串的最长子串,如果有多个,则按字典序输出. 思路: 首先就是将这n个字符串连 ...