PHP是一种语法简单、功能强大的网络编程语言。在语法格式上,PHP借鉴了广泛流行的C、Java和Perl等编程语言的特点,非常类似于C语言,但比C语言更简单,易学和易用,因此特别适合于学习过C语言,有志于网络编程的人学习和使用。

在功能上,它提供了丰富的函数库,支持复杂字符串处理,正规表达式和图形处理,可根据用户请求将服务器的数据轻松地产生动态网页,支持目前几乎所有流行的数据库系统,如Oracle、SQL Server、MySQL、mSQL、Informix、SyBase、ODBC、PostgreSQL以及dBase等。在在可移植性上,PHP程序可在Windows下快速开发,代码甚至不加修改即可运行在Unix、Linux上。
 PHP 的脚本块以<?php 开始,以 ?> 结束。当然,在支持简写的服务器上,也可以使用简约风格 <? 和?> 来开始和结束脚本块;还可以使用脚本风格的形式,如下代码:

     <script language="php">
//PHP 语句
</script> 我们在这里推荐使用标准风格。 <?php
//PHP 语句
?> PHP 提供两种输出文本的基础指令:echo 和 print。print 和 echo 基本一致。 但是print 不支持逗号分隔多个显示变量的语法。注意:PHP 中的每个代码行都必须以分号结束。 <?php
echo "Hello World";
print "study";
?> 如果你要输出中文,出于国际化的考虑,应当使用header()函数正确设置响应头: <?php
header("Content-Type:text/html;charset=utf-8");
echo "国家统计局解读CPI数据:3月蔬菜、猪肉涨幅较高";
?> 在 PHP 中,我们使用 // 来编写单行注释,或者使用 /* 和 */ 来编写大的注释块。 <?php
//This is a comment /*
This is
a comment
block
*/
echo "this is the only output";
?>
常量名 功能
__FILE__ 默认常量,PHP程序文件名
__LINE__ 默认常量,PHP程序行数
PHP_VERSION PHP程序版本
PHP_OS 执行PHP解析器的操作系统名称
TRUE 真值
FALSE 假值
NULL null值
E_ERROR 指到最近的错误处
E_WARNING 指到最近的警告处
E_PARSE 指解析语法有潜在问题处
E_NOTICR 为发生不寻常但不一定是错误处
<?php
header("Content-Type:text/html;charset=utf-8");
echo "当前文件路径:".__FILE__;
echo "<br>当前行数:".__LINE__;
echo "<br>当前PHP版本信息:".PHP_VERSION;
echo "<br>当前操作系统:".PHP_OS;
?>
output:
当前文件路径:/course/test.php
当前行数:4
当前PHP版本信息:5.4.41-0+deb7u1
当前操作系统:Linux
     <?php
//对大小写敏感
define("GREETING", "Welcome to Hubwiz.com!");
echo GREETING;
//对大小写不敏感
define("HUB", "Welcome to Hubwiz.com!", true);
echo hub;
//define("2FOO","Hubwiz");这样定义是不合法的
?>
变量是指在程序执行过程中其值可以变化的量。变量通过一个名字(变量名)来标识。系统为程序中的每一个变量分配一个存储单元,变量实质上就是计算机内存单元的命名。因此借助变量名就可以访问内存中的数据。

变量的名称可以很短(比如 x 和 y),也可以取更具描述性的名称(比如 carname、total_volume)。

PHP 变量规则:
1.变量以 $ 符号开头,其后是变量的名称;
2.变量名称必须以字母或下划线开头;
3.变量名称不能以数字开头;
4.变量名称只能包含字母数字字符和下划线(A-z、0-9 以及 _);
5.变量名称对大小写敏感($y 与 $Y 是两个不同的变量)。
     <?php
$txt="Hello world!";
$x=5;
$y=10.5;
?>
变量的作用域

  变量在使用时,要符合变量的定义规则。变量必须在有效范围内使用,如果超出有效范围,变量也就失去意义了。

  局部变量:即在函数内部定义的变量,其作用域是所在函数。

  全局变量:即被定义在所有函数以外的变量,其作用域是整个PHP文件,但是在用户自定义函数内部是不可用的。想在用户自定义函数内部使用全局变量,要使用global关键字声明。

    <?php
header("Content-Type:text/html;charset=utf-8");
$zy="你好";
$zyy="PHP语言";
function lxt(){
echo $zy."<br>"; //$zy 不能被调用,没有输出
global $zyy; //利用关键字global 在函数内部说明,不说明认为是私有变量
echo $zyy."<br>"; //调用$zyy
}
lxt();
?>
静态变量:能够在函数调用结束后仍保留变量值,当再次回到其作用域时,又可以继续使用原来的值。而一般变量是在函数调用结束后,其存储的数据值将被清除,所占的内存空间被释放。使用静态变量时,先要用static来声明变量。需要把关键字static 放在要定义的变量之前。

    <?php
function zdy(){
static $count=0;
$count++;
echo $count." ";
}
function zdy1(){
$count=0;
$count++;
echo $count." ";
}
for($i=0;$i<10;$i++) zdy(); //输出1~10
echo "<br>";
for($i=0;$i<10;$i++) zdy1(); //输出10个1
?>   自定义函数zdy()是输出从1到10,10个数字,而zdy1()函数则输出的是10个1。因为自定义函数zdy()含有静态变量,而函数zdy1()是一个普通变量。初始化都为0,再分别使用for循环调用两个函数,结果是静态变量的函数zdy()在被调用后,保留了$count中的值,静态变量的初始化只是在第一次遇到时被执行,以后就不再对其进行初始化操作了,将略过第3行代码不执行;而普通变量的函数zdy1()在被调用后,其变量$count失去了原来的值,重新被初始化为0。
可变变量

  可变变量是一种独特的变量,它允许动态改变一个变量名称。工作原理是该变量的名称由另外一个变量的值来确定。实现过程是在变量的前面再多加一个"$"。

    <?php
$my_name="myname";
$myname="yourname";
echo $my_name; // 输出myname
echo "<br>";
echo $$my_name; //通过$$my_name改变变量$my_name的名称为$myname,输出yourname
?> 运行结果为:myname yourname
PHP 支持8种基本的数据类型:

四种标量类型:boolean(布尔型)、integer(整型)、float (浮点型, 也称作 double)、string (字符串);
两种复合类型:array (数组)、object(对象);
最后是两种特殊类型:resource(资源)、NULL(NULL)。
整数

整数是没有小数的数字。

整数规则:
整数必须有至少一个数字(0-9); 整数不能包含逗号或空格; 整数不能有小数点; 整数正负均可;   可以用三种格式规定整数:十进制、十六进制(前缀是 0x)或八进制(前缀是 0)。在下面的例子中,我们将测试不同的数字。PHP 用var_dump() 函数会返回变量的数据类型和值。 <?php
$x = 5985;
var_dump($x);
echo "<br>"; //起到回车的作用
$x = -345; // 负数
var_dump($x);
echo "<br>";
$x = 0x8C; // 十六进制数
var_dump($x);
echo "<br>";
$x = 047; // 八进制数
var_dump($x);
?> 运行结果为: int(5985)
int(-345)
int(140)
int(39)
浮点数

浮点数是有小数点或指数形式的数字。

    <?php
$x = 10.365;
var_dump($x);
echo "<br>";
$x = 2.4e3;
var_dump($x);
echo "<br>";
$x = 8E-5;
var_dump($x);
?> 运行结果为: float(10.365)
float(2400)
float(8.0E-5)
布尔型

布尔型是最简单的变量,布尔变量:true和false值。

    <?php
$True=True;
echo $True;
echo "<BR>";
$False=False;
echo $False;
?> 运行结果为: 1 true和false实际上是代表数值1和0,因此true在输出时显示为1,但是在给变量赋值的时候,如果赋值为1,则被当成整型,如果被赋值为true,则被当成布尔型。 当转换为布尔型时,以下值被认为是false:
(1)布尔值false;
(2)整型值0(零);
(3)浮点型值0.0(零);
(4)空白字符串和字符串"0";
(5)没有成员变量的数组;
(6)没有单元的对象(仅适用php4);
(7)特殊类型NULL; 而所有其他值都被认为是TRUE包括任何资源。
字符串

PHP中有三种方式定义字符串:

单引号方式

可以使用一对单引号来声明一个字符串,如果需要在字符串中包含单引号,可以使用 转义符\:

    <?php
header("Content-Type:text/html;charset=utf-8;");
$single_str='我被单引号括起来了!<br>';
echo $single_str;
$single_str='输出双引号:"我在双引号里面"<br>';
print $single_str;
$single_str='输出美元符号:$<br>';
print $single_str;
$single_str='输出单引号: \'嘿嘿,我在单引号里面\'<br>';
echo $single_str;
?> 双引号方式 也可以使用一对双引号来声明一个字符串。类似的,如果要在其中包含双引号, 使用转义符\: <?php
header("Content-Type:text/html;charset=utf-8;");
$Double_str="我被双引号括起来了!<br>";
echo $Double_str;
$Double_str="可以直接包含'单引号'<br>";
echo $Double_str;
$Double_str="使用转义符包含\"双引号\"<br>";
echo $Double_str;
?> HereDoc方式 通常在PHP代码中,你会需要将变量和预定的模板拼接起来,构成返回前端的HTML字符串。 Perl风格的HereDoc方式最适合这种应用场景。 下面的示例定义了一个HereDoc风格的字符串: <?php
$form_str = <<<EOF
<form>
<input type="text" placeholder="account">
<input type="password" placeholder="password">
<input type="submit" value="Login">
</form>
EOF;
echo $form_str;
?> 不用拼接字符串,不用考虑转义,就像写HTML一样 —— 这相当地爽。你需要做的,仅仅是在 真正的内容前后,分别加上开始标识符和结束标识符。 开始标识符总是以<<<开始,然后加上一个自定义的TOKEN,比如,我们使用EOT, 你也可以使用SCREWYOU, HAHAHA... 总之只要不在内容中出现就行。 结束标识符必须独占一行,顶格写上之前我们自定义的TOKEN,并且总是以;结尾。 HereDoc方式支持在内容中使用变量,嗯,自带模板插值功能: <?php
$user="whoami";
$form_str = <<<HAHA
<form>
<input type="text" placeholder="account" value="$user">
<input type="password" placeholder="password">
<input type="submit" value="Login">
</form>
HAHA;
echo $form_str;
?>

php_study progress(1)的更多相关文章

  1. HTML5 progress和meter控件

    在HTML5中,新增了progress和meter控件.progress控件为进度条控件,可表示任务的进度,如Windows系统中软件的安装.文件的复制等场景的进度.meter控件为计量条控件,表示某 ...

  2. 登陆Oracle,报oracle initializationg or shutdown in progress 错误提示

    前两天,登陆Oracle,发现登陆不上去了,报”oracle initializationg or shutdown in progress 错误提示” 错误. 然后就想着怎么去解决,首先自己到win ...

  3. The replication agent has not logged a progress message in 10 minutes.

    打开Replication Monitor,在Subscription Watch List Tab中,发现有大量的status= “Performance critical” 的黄色Warning, ...

  4. JavaScript----Js操控-HTML5 <progress> 标签

    Js操控----HTML5 <progress> 标签 简单模拟下下载进度跑条 <h4>加载进度</h4> <input type="button& ...

  5. SharePoint Configuration Wizard - Unable to upgrade SharePoint Products and Technologies because an upgrade is already in progress

    故障描述 当要运行SharePonit Products and Technologies Configuration Wizard的时候,出现了如下图所示的错误提示. 错误信息为: Unable t ...

  6. No edit session in the progress

    运行环境:开发环境:Windows7旗舰版64bit.VisualStudio2008 With SP1.ArcEngine10.0.NetFrameWork4.0.IIS7和C#开发语言. 问题描述 ...

  7. “ORA-01033:ORACLE initialization or shutdown in progress”错误的解决

    网页上显示以下错误信息: ORA-:ORACLE initialization or shutdown in progress 启动oracle数据库,有以下提示信息 Database mounted ...

  8. IOS 公共类-MyMBProgressUtil Progress显示

    IOS 公共类-MyMBProgressUtil Progress显示 此公共类用于显示提示框,对MBProgress的进一步封装.可以看下面的代码 接口: @interface MyMBProgre ...

  9. exception throw in progress runner thread_VS2015中SVN源代码无说明提交异常

    1-问题描述:通过SVN将代码变更提交服务器时,你可能会遇到以下异常:  exception throw in progress runner thread 2-解决办法: SVN代码源代码管理和TF ...

随机推荐

  1. vue监听滚动事件 实现某元素吸顶或者固定位置显示

    https://blog.csdn.net/wang1006008051/article/details/78003974 1.监听滚动事件 利用VUE写一个在控制台打印当前的scrollTop, 首 ...

  2. MYSQL: set names utf8是什么意思?

    set names utf8 是用于设置编码,可以再在建数据库的时候设置,也可以在创建表的时候设置,或只是对部分字段进行设置,而且在设置编码的时候,这些地方最好是一致的,这样能最大程度上避免数据记录出 ...

  3. mac-Navicat Premium 12连接Oracle

    安装及破解: https://pan.baidu.com/s/1ip0oM9p856k34t3cIExa7Q(提取码请留言) Navicat连接了Oracle数据库 测试连接失败,提示:hostnam ...

  4. Cocos2d-JS studio基础控件的使用

    在studio里把几个基础控件往场景文件一拖,然后导出json格式的资源文件 逻辑代码如下: 1 var HelloWorldLayer = cc.Layer.extend({ 2 sprite:nu ...

  5. 测试一体机ASM failgroup的相关问题处理

    环境:3台虚拟机 RHEL 7.3 + Oracle RAC 11.2.0.4 问题现象:RAC运行正常,ASM磁盘组Normal冗余,有failgroup整体故障,有failgroup配置错误. 温 ...

  6. 6.短信验证码60s倒计时

    短信验证码60s倒计时 html: <input type="button"  class="btn btn-primary" value="免 ...

  7. MyBatis基础入门《五》核心配置文件

    MyBatis基础入门<五>核心配置文件 描述: 在前面的章节中,简单的学习使用了一下mybatis,对于配置文件没有过多详细说明. 这里先描述项目中的一个核心配置文件:mybatis-c ...

  8. C#会对于未赋值的变量/成员变量,给予一个初始值吗?

    如果我有程序如下: C# code   ? 1 2 3 4 5 6 7     public class My     {         public bool b;         public  ...

  9. Usefull Resources

    Sql Server Profiler 1. http://www.cnblogs.com/Fooo/archive/2013/02/19/2916789.html 2. http://5439255 ...

  10. sublime text3配置及相关小技巧

    1.下载&安装: 官方地址:http://www.sublimetext.com/,sublime text3又更新了,支持不依赖插件进行侧边栏颜色的更改,同时自带的皮肤颜色也有四种,十分方便 ...