当前位置: 首页 > 编程日记 > 正文

php入门01

关于变量

注意点:

  1. 在php中,变量是通过$符号定义的
  2. 在php中,变量名是区分大小写的

数据类型

  • 布尔类型

  1. 布尔类型有两个值,true和false,它不区分大小写
  2. 当我们用”echo”指令输出布尔类型时,如果是“true”则输出的是“1”,“false”则什么也不输出。我们可以使用“var_dump”函数,获取它真正的数据类型。
<?php$flag=TRUE;$flag2=false;$string1='您好';echo $flag;   //输出1echo $flag2;  //什么也不输出var_dump($flag); //输出 boolean truevar_dump($string1); //输出   string '您好' (length=6)
?>
  • 字符串类型

字符串型可以用三种方法定义:单引号形式、双引号形式和Heredoc结构形式。

当字符串中包含引号的时候,我们有以下几种解决方法

  1. 在单引号中嵌入双引号
  2. 在双引号中嵌入单引号
  3. 使用转义符"\"

当引号遇到美元符号

  1. 当双引号中包含变量时,变量会与双引号中的内容连接在一起;
  2. 当单引号中包含变量时,变量会被当做字符串输出。

当字符串很长

当字符串很长的时候我们可以使用Heredoc结构形式的方法来解决该问题,首先使用定界符表示字符串(<<<),接着在“<<<“之后提供一个标识符GOD,然后是字符串,最后以提供的这个标识符结束字符串。如下图:

  1. 首先在<<<之后的字符GOD是自己定义的,随便什么都是可以的(比如AAA都可以),但是结尾处的字符一定要和他一样,他们是成对出现的,就像{}这样的——这是最基本的。
  2. 结尾的一行(如上例的GOD;),一定要另起一行,并且该行除了Eof;这个定界符结尾标识之外不能有任何其他字符,前后都不能有,包括空格。如果在本行最前或者最后出现空格,制表符的话,你会收到一个错误信息
  3. 如果在定界符中间出现有PHP的变量,你只需要像在其它字符串中输出一样写就行了,但是最好给变量加一个{}要不然可能会出错,如下:
<?phpheader("Content-type: text/html; charset=utf-8"); $a=2;$string1=<<<GOD我有一只小毛驴,我从来也不骑。有一天{$a}我心血来潮,骑着去赶集。我手里拿着小皮鞭,我心里正得意。不知怎么哗啦啦啦啦,我摔了一身泥.
GOD;echo $string1;        
?>
  • 资源类型

资源是由专门的函数来建立和使用的,例如打开文件、数据连接、图形画布。

  • 常量

常量可以理解为值不变的量(如圆周率);常量主要功效是可以避免重复定义,篡改变量值

定义一个自定义常量

自定义的常量是通过php中的函数define(name,value,case_insensitive)来定义的,该函数有三个参数,如下说明:

参数描述
name必要参数。指定常量的名称。常量的命名规则与变量的一致,但是一般常量我们都用全大写,常量名可以用存储常量名的变量表示
value为必选参数,它是常量的值
case_sensitive可选参数,可选的,规定常量名是否对大小写敏感。默认是false。
<?php$p = "PII";define("PI",3.14);define($p,3.14);echo PI; //输出3.14echo "<br />";echo PII; //输出3.14
?>

常量取值

  1. 使用常量名直接获取值;例如计算圆周率的面积
<?phpdefine("PI",3.14);$r=2;$area=PI*$r*$r;//计算圆的面积echo $area;    
?>

2.使用constant()函数。它和直接使用常量名输出的效果是一样的,但函数可以动态的输出不同的常量,在使用上要灵活、方便,其语法格式如下:

mixed constant(string constant_name)

第一个参数constant_name为要获取常量的名称,也可为存储常量名的变量。如果成功则返回常量的值,失败则提示错误信息常量没有被定义。(注:mixed表示函数返回值类型为多种不同的类型,string表示参数类型为字符串类型)。

<?phpdefine("PI",3.14);$r=3;$area=constant("PI")*$r*$r;//计算圆的面积echo $area;    
?>

PHP中的运算符

  • PHP中的字符串连接运算符
  1. 连接运算符(“.”):它返回将右参数附加到左参数后面所得的字符串。
  2. 连接赋值运算符(“.=”):它将右边参数附加到左边的参数后。

php foreach的用法

  1. 只取值,不取下标
<?phpforeach (数组 as 值){//执行的任务
    }
?>    

实例:

<?php
$students = array(
'2010'=>'令狐冲',
'2011'=>'林平之',
'2012'=>'曲洋',
'2013'=>'任盈盈',
'2014'=>'向问天',
'2015'=>'任我行',
'2016'=>'冲虚',
'2017'=>'方正',
'2018'=>'岳不群',
'2019'=>'宁中则',
);//10个学生的学号和姓名,用数组存储//使用循环结构遍历数组,获取学号和姓名  foreach($students as $a){ echo $a;//输出(打印)姓名echo "<br />";
}
?>

2.同时取下标和值

<?phpforeach (数组 as 下标 => 值){//执行的任务
    }
?>

实例:

<?php
$students = array(
'2010'=>'令狐冲',
'2011'=>'林平之',
'2012'=>'曲洋',
'2013'=>'任盈盈',
'2014'=>'向问天',
'2015'=>'任我行',
'2016'=>'冲虚',
'2017'=>'方正',
'2018'=>'岳不群',
'2019'=>'宁中则',
);//10个学生的学号和姓名,用数组存储//使用循环结构遍历数组,获取学号和姓名  
foreach($students as $key =>$v){ echo $key.":".$v;//输出(打印)学号:姓名echo "<br />";
}
?>

转载于:https://www.cnblogs.com/Anne1991/p/6898149.html

相关文章:

遗传算法主程序

遗传算法主程序 本图文已经更新&#xff0c;详细地址如下&#xff1a; http://blog.csdn.net/lsgo_myp/article/details/54584840

jquery日历插件FullCalendar使用技巧

原文链接&#xff1a;http://blog.csdn.net/u013493957/article/details/44920341FullCalendar是一款基于jquery的日历控件,它有着很强大的功能&#xff0c;下面我来给大家介绍一下FullCalendar使用技巧吧&#xff0c;希望此方法对各位有帮助呀。简介 官方网站&#xff1a;http…

列表CheckBox全选 结合DataGrid 进行删除操作

//CheckBox全选function CA(){ var frmdocument.Form1; alert(frm) for (var i0;i<frm.elements.length;i) { var efrm.elements[i]; alert(e.type) alert(e.name) if ((e.name ! allbox) && (e.typecheckbox)) { …

遗传算法主程序(辅助)

遗传算法主程序&#xff08;辅助&#xff09; 本图文已经更新&#xff0c;详细地址如下&#xff1a; http://blog.csdn.net/lsgo_myp/article/details/54584840

互联网产品mysql数据库设计总结

mysql数据库性能不比oracle数据库&#xff0c;所以设计上&#xff0c;和oracle有一些不同。下面总结一些互联网产品的数据库设计。 1.主键 主键可以使用bigint(20) unsigned也可以使用varchar&#xff0c;使用bigint&#xff0c;可以设置为自增主键auto_increment。使用varch…

【跟我一起学Unity3D】做一个2D的90坦克大战之AI系统

对于AI&#xff0c;我的初始想法非常easy&#xff0c;首先他要能动&#xff0c;而且是在地图里面动。 懂得撞墙后转弯&#xff0c;然后懂得射击&#xff0c;其它的没有了&#xff0c;基于这个想法&#xff0c;我首先创建了一个MyTank类&#xff0c;用于管理玩家的坦克的活动&am…

如何利用C#开发“扫雷”小游戏

本文详细说明了利用C#语言开发“扫雷”小游戏的开发过程。

spring ioc原理分析

spring ioc原理分析 spring ioc 的概念简单工厂方法spirng ioc实现原理 spring ioc的概念 ioc: 控制反转 将对象的创建由spring管理。比如&#xff0c;我们以前用new一个对象的方式自己创建一个对象&#xff0c;现在使用spring&#xff0c;不必自己new一个对象了&#xff0c…

PL/SQL集合类型的整理学习

http://log-cd.iteye.com/blog/521177 PL/SQL集合类型是类似于高级语言数组的一种复合数据类型&#xff0c;集合类型包括索引表&#xff08;PL/SQL表&#xff09;、嵌套表&#xff08;Nested Table&#xff09;和变长数组&#xff08;VARRAY&#xff09;三种类型。<一>、…

多条件组合查询+分页

比较麻烦&#xff0c;把他记录下来。前台UI&#xff1a;实现的类代码:程序代码/// <summary>/// 多条件组合查询/// </summary>/// <param name"suppliercode">供应商代码</param>/// <param name"materialcode">物料代码&l…

Matlab与线性代数 -- 矩阵的重组1

本图文介绍了矩阵重组的第一种情况用新的行或列取代原有矩阵的行或列。

工作中感受到的消息中间件在分布式系统中的使用场景

经历 以前在qunar实习&#xff0c;第一次接触消息中间件&#xff0c;那时候概念还不清楚&#xff0c;朦朦胧胧有个初步认识&#xff0c;现在正式工作了&#xff0c;又一次接触了消息中间件&#xff0c;初步总结几种场景。 场景 1.分布式系统中&#xff0c;不同系统之间传递消…

sql server 2005分页存储过程和sql server 2000分页存储过程(摘)

USE[svnhost]GO/****** 对象: StoredProcedure [dbo].[up_Page2005] 脚本日期: 05/21/2008 11:27:05 ******/SETANSI_NULLS ONGOSETQUOTED_IDENTIFIER ONGOCREATEproc[dbo].[up_Page2005]TableNamevarchar(50), --表名Fieldsvarchar(5000) *, --字段名(全部字段为…

topcoder srm 691 div1 -3

1、给定一个$n$个顶点$n$个边的图&#xff0c;边是$(i,a_{i})$&#xff0c;顶点编号$[0,n-1]$。增加一个顶点$n$,现在选出一个顶点集$M$,对于任意的在$M$中 的顶点$x$&#xff0c;去掉边$(x,a_{x})$&#xff0c;增加边$(x,n)$。最后使得顶点0和1相连。有多少种$M$? 思路&#…

Matlab与线性代数 -- 矩阵的重组2

本图文详细介绍了矩阵重组的第二种情况任意两行或两列进行对换。

mac通过tree源码编译安装tree

通过tree源码编译安装 下载源码&#xff1a;curl -O ftp://mama.indstate.edu/linux/tree/tree-1.6.0.tgz 解压源码&#xff1a;tar xzvf tree-1.6.0.tgz 修改Makefile文件&#xff1a; tree默认的是linux的编译环境&#xff0c;因此移植到mac里面需要注释掉linux的编译选项&am…

java IO流文件的读写具体实例

IO流的分类&#xff1a;1、根据流的数据对象来分&#xff1a;高端流&#xff1a;所有的内存中的流都是高端流&#xff0c;比如&#xff1a;InputStreamReader 低端流&#xff1a;所有的外界设备中的流都是低端流&#xff0c;比如InputStream&#xff0c;OutputStream 如何区分…

Matlab与线性代数 -- 矩阵的重组3

本图文详细介绍了矩阵重组的第三种情况&#xff0c;从矩阵中选取子矩阵。

ASP.NET小收集:IFrame使用

使用Iframe制作一个固定框架&#xff0c;很方便与象后台网站之类的页面1<html xmlns"http://www.w3.org/1999/xhtml">2<head runat"server">3<title>后台</title>4</head>5<frameset cols"170,*"framespacing&…

linux mac中实现类似secureCRT的clone session

在你的登录账户下的.ssh文件夹新建一个文件&#xff1a;config. cd ~/.ssh vi config config的文件中&#xff0c;内容为&#xff1a; host * ControlMaster auto ControlPath ~/.ssh/master-%r%h:%p 重新打开终端&#xff0c;第一次&#xff0c;你还是需要输入密码&#xff0c…

C#动态加载DLL(转)

利用反射进行动态加载和调用.Assembly assAssembly.LoadFrom(DllPath); //利用dll的路径加载加载dll后,需要使用dll中某类.Type typeass.GetType(“TypeName”);//利用类型的命名空间和名称获得类型需要实例化类型,才可以使用,参数可以人为的指定,也可以无参数,静态实例可以省略…

mysql高可用之MMM

博主QQ&#xff1a;819594300博客地址&#xff1a;http://zpf666.blog.51cto.com/有什么疑问的朋友可以联系博主&#xff0c;博主会帮你们解答&#xff0c;谢谢支持&#xff01;一、MMM简介&#xff1a;MMM即Multi-MasterReplication Manager for MySQL:mysql多主复制管理器。M…

Matlab与线性代数 -- 矩阵的重组4

本图文详细描述了矩阵重组的第四种情况&#xff0c;将矩阵改写成行向量或者列向量。

利用spring aop统一处理异常和打日志

利用spring aop统一处理异常和打日志 spring aop的概念&#xff0c;很早就写博客介绍了&#xff0c;现在在工作中真正使用。 我们很容易写出的代码 我们很容易写出带有很多try catch 和 logger.warn(),logger.error()的代码&#xff0c;这样一个方法本来的业务逻辑只有5行&a…

Matlab与线性代数 -- 矩阵的重组5

本图文详细介绍了矩阵重组的Matlab命令reshape()。

windows XP下Python2.7包管理工具安装-setuptool,pip、distribute、nose、virtualenv

在Python开发中为了对项目进行管理和调试。必须安装一些特定的软件包。据说业内这个叫做yak shaving-做一个非常酷非常绚丽的Python项目之前&#xff0c;必须做的一些枯燥无味的准备工作。本文介绍了setuptool。pip、distribute、nose、virtualenv的安装。 1&#xff0c;pytho…

黑客必知的SQL语句 黑客知道,程序员必知

SQL语句先前写的时候&#xff0c;很容易把一些特殊的用法忘记&#xff0c;我特此整理了一下SQL语句操作。 一、基础 1、说明&#xff1a;创建数据库 Create DATABASE database-name 2、说明&#xff1a;删除数据库 drop database dbname 3、说明&#xff1a;备份sql server --…

AutowireCapableBeanFactory,实现不必配置xml文件,动态加载bean

场景 今天遇见一个问题&#xff0c;如何能做到一个类&#xff0c;没有在spring的配置文件中配置&#xff0c;但是还能通过某种方式加载进来。通过查看一些代码&#xff0c;查看stackoverflow&#xff0c;了解了一些知识。 如果一个类并没有在applicationContext中配置我们可以…

[导入]如何理解Return的返回值?

如何理解Return的返回值&#xff1f; 问题&#xff1a; 在创建和录制脚本的时候&#xff0c;发现在脚本vuser_init、Action、vuser_end三部分&#xff0c;都会有一条“return 0;”语句&#xff0c;那么我们平时在编写脚本时如何应用return语句&#xff0c;return不同的返回值又…

如何利用神经网络结合遗传算法进行非线性函数极值寻优(2)

如何利用神经网络结合遗传算法进行非线性函数极值寻优