我的PHP之旅--认识PHP
PHP是什么?
- php是一个脚本语言,它运行在服务器端并会以纯文本的形式返回到服务器,它是免费的。
- php可以对数据库中的数据进行:增删改查,可以对数据进行加密,接收表单。
- php的文件后缀是.php,.php中可以包含HTML,CSS,JavaScript,PHP代码。
- (额。。因为初学实在想不出更多,以后再添加吧)。
PHP与Apache的关系
举例:有一家餐馆,顾客(上网的人)向服务员(apache)点餐,像饮料(假设是HTML文件),甜品(假设是javascript)之类的服务员不用通知厨师(php)它会自动给顾客呈上(web网页),当顾客点了菜单中的一道菜(.php),服务员将通知厨师,由厨师工作完毕后返回给服务员后,服务员给顾客呈上(web)。--------(个人愚见,欢迎批评)
PHP基本语法
PHP脚本是以"<?php"开头 "?>"结尾的
<?php // 你可以在此编程 ?>
来瞅瞅变量呗~?
<?php $someValue = "这是一个变量,字符串类型。变量是以'$'声明的"; ?>
哦 对,变量值是有类型滴,php不像swift那样需要声明类型,它会自动推断。
<?php // 字符串 $someString = "一段字符串"; // 整数 $someInteger = 27; // 浮点数 $someFloat = 3.16; // bool型(逻辑) ture or false $someBool = false; // 数组 $someArray = array(12, 32, 3e3); ?>
PHP的输出函数
php有两个输出函数:
- print:只能输出一个字符串,并且有返回值,返回值为1。
- echo:能输出一个以上的字符串,它没有返回值 所以比print更加效率一些。
<?php
echo "echo可以输出任何形式的内容<br />";
echo "<h1>还有这样</h1>";
$names = array("Vans", "Lee", "Supreme");
echo "echo还可以输出变量{$names[0]},当使用变量时最好以花括号包裹变量。";
?>
PHP的类型判断
- 由于PHP在声明变量的时候是自动推断,so 在测试的时候咱有时需要用几个方法来判断一个变量是什么类型的。
- var_dump:这个方法会打印一个变量的相关信息。
- "" (空字符串)
- 0 (作为整数的0)
- 0.0 (作为浮点数的0)
- "0" (作为字符串的0)
NULLFALSE- array() (一个空数组)
- $var; (一个声明了,但是没有值的变量)
isset:判断一个变量是否被设置,返回一个bool值。empty:判断一个变量是否为空,以下几种情况均视为空并返回true:
<?php
$a = 0;
$b = "";
$c = NULL;
$d;
// var_dump 会打印一个变量的信息
var_dump($a);
// isset 会判断变量是否被设置
if (isset($a)) {
echo "a被设置为 int(0),所以会返回true";
}
if (isset($c)) {
echo "变量c是NULL 等于没有设置值。";
} else {
echo "会返回false";
}
if (isset($d)) {
echo "变量d没有被设置。";
} else {
echo "会走到这行代码,isset返回的是false";
}
// empty
if (empty($b)) {
echo "";
} else {
echo "会走到这行代码,因为变量b是空串,但如果是isset($b)的话,会返回true、因为变量b已经设置为空串。";
}
?>
PHP的自动类型转换和强制类型转换
先来瞧个"栗子":
<?php $a = 20, $b = "30px"; // a是int型,b是string型,如果这两个变量进行运算的话会发生啥? $c = $a + $b; // PHP会进行自动类型转换,将变量b转换为30,其后面的"px"会被舍弃。 var_dump($c); ?>
来看看自动类型转换的规则和强制类型转换的方法:
<?php // 如果一下变量转换为int的话: $a = "30cm"; // 30。 $b = "vans1966"; // 0,当字符串首个字符不是数字的话 会被自动转换成为0. $c = 5.69; // 5。 $d = true; // 1。 $e = false; // 0。 // 这是强转int的函数: intval($a); // 如果一下变量转换为bool的话: $a = "30cm"; // true $b = ""; // false $c = 5.69; // true $d = 0; // false $e = NULL; // false $f = 0.0; // false // 这是强转bool的函数: boolval($a); // 如果一下变量转换为string的话: $a = 30; // "30" $b = 0.0; // "0.0" $c = 5.69; // "5.69" $d = 0; // "0" // 这是强转string的函数: strval($a); ?>
我的PHP之旅--认识PHP的更多相关文章
- Linq之旅:Linq入门详解(Linq to Objects)
示例代码下载:Linq之旅:Linq入门详解(Linq to Objects) 本博文详细介绍 .NET 3.5 中引入的重要功能:Language Integrated Query(LINQ,语言集 ...
- WCF学习之旅—第三个示例之四(三十)
上接WCF学习之旅—第三个示例之一(二十七) WCF学习之旅—第三个示例之二(二十八) WCF学习之旅—第三个示例之三(二十九) ...
- 【C#代码实战】群蚁算法理论与实践全攻略——旅行商等路径优化问题的新方法
若干年前读研的时候,学院有一个教授,专门做群蚁算法的,很厉害,偶尔了解了一点点.感觉也是生物智能的一个体现,和遗传算法.神经网络有异曲同工之妙.只不过当时没有实际需求学习,所以没去研究.最近有一个这样 ...
- Hadoop学习之旅二:HDFS
本文基于Hadoop1.X 概述 分布式文件系统主要用来解决如下几个问题: 读写大文件 加速运算 对于某些体积巨大的文件,比如其大小超过了计算机文件系统所能存放的最大限制或者是其大小甚至超过了计算机整 ...
- .NET跨平台之旅:在生产环境中上线第一个运行于Linux上的ASP.NET Core站点
2016年7月10日,我们在生产环境中上线了第一个运行于Linux上的ASP.NET Core站点,这是一个简单的提供后端服务的ASP.NET Core Web API站点. 项目是在Windows上 ...
- 【Knockout.js 学习体验之旅】(3)模板绑定
本文是[Knockout.js 学习体验之旅]系列文章的第3篇,所有demo均基于目前knockout.js的最新版本(3.4.0).小茄才识有限,文中若有不当之处,还望大家指出. 目录: [Knoc ...
- 【Knockout.js 学习体验之旅】(2)花式捆绑
本文是[Knockout.js 学习体验之旅]系列文章的第2篇,所有demo均基于目前knockout.js的最新版本(3.4.0).小茄才识有限,文中若有不当之处,还望大家指出. 目录: [Knoc ...
- 【Knockout.js 学习体验之旅】(1)ko初体验
前言 什么,你现在还在看knockout.js?这货都已经落后主流一千年了!赶紧去学Angular.React啊,再不赶紧的话,他们也要变out了哦.身旁的90后小伙伴,嘴里还塞着山东的狗不理大蒜包, ...
- WCF学习之旅—第三个示例之二(二十八)
上接WCF学习之旅—第三个示例之一(二十七) 五.在项目BookMgr.Model创建实体类数据 第一步,安装Entity Framework 1) 使用NuGet下载最新版的Entity Fram ...
- WCF学习之旅—第三个示例之三(二十九)
上接WCF学习之旅—第三个示例之一(二十七) WCF学习之旅—第三个示例之二(二十八) 在上一篇文章中我们创建了实体对象与接口协定,在这一篇文章中我们来学习如何创建WCF的服务端代码.具体步骤见下面. ...
随机推荐
- Spring3之MVC
模式-视图-控制器(MVC)是UI设计中常见的设计模式, 该模式区分应用程序中的模式.视图和控制器三个角色,消除了业务逻辑与UI的耦合.模式负责封装视图展示的应用数据.视图应该只显示数据,不包含任何业 ...
- arcgis 绝对、相对、UNC 和 URL
您每天都通过路径浏览至数据和工具箱.在共享数据和工具之前,您对此可能没有做太多考虑,其实您也无需考虑.本部分将详细讨论以下方面内容:路径.定义不同类型的路径以及 ArcGIS 对路径的管理方式. 路径 ...
- multiple build commands for output file
在项目中 我们经常会碰到图片这方面的警告 虽然不影响运行 但是警告太多了也不是很好 其中 图片方面遇到的警告以下面的警告偏多:multiple build commands for output ...
- angualrjs学习总结二(作用域、控制器、过滤器)
一:Scope简介 Scope(作用域) 是应用在 HTML (视图) 和 JavaScript (控制器)之间的纽带.Scope 是一个对象,有可用的方法和属性.Scope 可应用在视图和控制器上. ...
- Android学习(一) - Activity
好久不写博客了,自上次写到现在已经一年多了,写这东西其实坚持下来就好了,将自己学的东西一点点写出来成为日后的积累查阅的资料.最近不是特别忙,抽点时间学学移动开发. Android组件中常用的四大组件 ...
- PHP自动执行程序
/****config.php***/ <?php return 1; //需要停止时改成0 ?> /******************/ ignore_user_abort();//关 ...
- oracle中decode()函数
简单写写,后续继续补充
- Mysql - 解决Access denied for user ''@'localhost' to database 'mysql'问题
http://361324767.blog.163.com/blog/static/11490252520124454042468/ 首先我想说一句话: 我极度鄙视国内搞IT的人,简直无语,同样是解决 ...
- asp.net中的App_GlobalResources和App_LocalResources使用
学而不思则罔,思而不学则殆,每天坚持一小步,则成功一大步 asp.net中的App_GlobalResources和App_LocalResources使用 App_GlobalResources是全 ...
- 编译gd-2.0.35.tar.gz时报错:gd_png.c:16:53: error: png.h: No such file or directory
编译gd-2.0.35.tar.gz时报错: gcc -DHAVE_CONFIG_H -I. -I. -I. -I/usr/local/freetype/include/freetype2 -I/us ...