热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

php入门基础篇-语法_PHP教程

php入门基础篇-语法。这是一篇简单的php语法入门篇,有需要的朋友可参考一下。一、双引号与单引号变量可以在双引号中执行,但用define的常量在两种单、双
这是一篇简单的php语法入门篇,有需要的朋友可参考一下。

一、双引号与单引号
变量可以在双引号中执行,但用 define 的常量在两种单、双引号中都是不可执行的:

代码如下

$var = 'sofish';
echo 'im $var'; // => 'im $var'
echo "im $var"; // => 'im sofish'

define('NAME', 'sofish');
echo 'im NAME'; // => 'im NAME'
echo 'im ' . NAME; // => 'im sofish'

在 JS 中引号内不可以渲染任何变量。

二、变量的定义
使用 $ 符,而不是 var 关键字;有真正的常量,用 define 函数,一经定义,一可改变。

代码如下

// JS 中我们用 var name = 'sofish';
$name = 'sofish';

// JS 中我们用 var NAME = sofish; 而且是可以改变的
define('NAME', 'sofish');

// 在这里会报错,因为 NAME 已经被定义,而 JS 可以随时改变
define('NAME', 'error');

三、数组
排序:

可以使用 shuffle(),在 JS 中我们通常使用 Math.random 来设定在某个范围内,访问数组的下标;如果用数字来排序,小数点会被忽略,所以如果想准确地用数字排序,把数字变成字符串,比如 1.2 应写成 '1.2'。

可以字符串当 key:

代码如下

$arr = array('name' => 'sofish', 'age' => '25', 'gender' => 'male');

自动增加索引值:

下面这两个数据是相同的:

代码如下
$arr = array('1' => 'sofish', '25', 'male')
$arr = array('1' => 'sofish', '2' => '25', '3' => 'male')

四、连字符
在 PHP 中使用 .,在 JS 中使用 +。

五、换行符
在双引号中使用 "n",'n' 是不会转成换行符的。如果你习惯使用单引号,那么可以使用 PHP_EOL:

代码如下

echo 'im sofish,' . PHP_EOL;
echo "25 years old, n";
echo 'male';

// 想象一下下面这一段,在 stackoverflow 最受欢迎的回答
// 个人不喜欢混用两种引号,不好看,但未必不好。lol?!
echo 'im sofish' . "n" . '25 ...'在 JS 中,两种引号内写 n 都是可行的。

六、if 语句
在 PHP 中另一个分支用 elseif 而在 JS 中使用 else if,中间有一个空格之差。

UPDATE: 2012.02.29 5:28 pm:Andor: "其实 if 分支的另一个分支用 elseif 和 else if 都是可以的"。

七、函数
在 PHP 中不可以使用 (function(){})() 这样的函数来直接运行一个匿名函数,但是可以创建一个参数有默认值的函数,如:

代码如下

function fn($name, $greet = 'good moring '){
echo $greet . $name;
};

// 当不传值时显示默认值,结果 >> 'good morning sofish'

代码如下
fn('sofish', 'good morning ');

// 当传入值的时候替换默认值,结果 >> 'good afternoon sofish'
fn('sofish', 'good afternoon ');作用域,我还是比较喜欢 JS 中的闭包,在 PHP 中,我们来看一下下面的代码:

代码如下
$a = 'hello';
$b = function(){
echo $a . ' sofish.';
};
$b();

我们的预期结果是,’hello sofish.’。不过,我里有2个 $b,结果往往另我们意外。在 PHP 中,变量不能在自定义函数内使用,函数内部也不能使用外部已定义的变量(WTF),除非使用 global 关键字。上面的函数修改如下,则可使用:

代码如下
$a = 'hello';
$b = function(){
global $a;
echo $a . ' sofish.';
};
$b();

我们通常说,要慎用全局变量。在这里就更需要了。

八、list() 函数
很有趣的函数,可以利用数组中的值给一组变量赋值。我们平时在 JS 中是这样使用一个数组的:

// 返回一个数组,然后,用 `[]` 下标来调用

代码如下
var cursorPos = (function(){
// render ...
return [posX, posY];
})();

在 PHP 中可以使用 list() 根据数组的内容给一组变量赋值,这样我们就可以用变量来变量名来访问我们要用的值,而不是使用下标:

// 用括号内的变量来访问函数 `cursorPos` 返回的值
list($posX, $posY) = cursorPos();另外,值得一提的另一个有趣函数 ———— isset(),判断一个值非 NULL。还有诸如 is_array / is_string 这样的函数,都是在 JS 中没有提供的。像类型判断,算是 JS 中的高组内容了,只有比较熟悉和有积累的程序员都知道怎么做比较合理。

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/629083.htmlTechArticle这是一篇简单的php语法入门篇,有需要的朋友可参考一下。 一、双引号与单引号 变量可以在双引号中执行,但用 define 的常量在两种单、双...


推荐阅读
  • 在Linux系统中配置并启动ActiveMQ
    本文详细介绍了如何在Linux环境中安装和配置ActiveMQ,包括端口开放及防火墙设置。通过本文,您可以掌握完整的ActiveMQ部署流程,确保其在网络环境中正常运行。 ... [详细]
  • 在 Windows 10 中,F1 至 F12 键默认设置为快捷功能键。本文将介绍几种有效方法来禁用这些快捷键,并恢复其标准功能键的作用。请注意,部分笔记本电脑的快捷键可能无法完全关闭。 ... [详细]
  • This guide provides a comprehensive step-by-step approach to successfully installing the MongoDB PHP driver on XAMPP for macOS, ensuring a smooth and efficient setup process. ... [详细]
  • 探讨如何高效使用FastJSON进行JSON数据解析,特别是从复杂嵌套结构中提取特定字段值的方法。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 本文详细介绍了如何在Linux系统上安装和配置Smokeping,以实现对网络链路质量的实时监控。通过详细的步骤和必要的依赖包安装,确保用户能够顺利完成部署并优化其网络性能监控。 ... [详细]
  • PHP 5.2.5 安装与配置指南
    本文详细介绍了 PHP 5.2.5 的安装和配置步骤,帮助开发者解决常见的环境配置问题,特别是上传图片时遇到的错误。通过本教程,您可以顺利搭建并优化 PHP 运行环境。 ... [详细]
  • 本文介绍如何在 Xcode 中使用快捷键和菜单命令对多行代码进行缩进,包括右缩进和左缩进的具体操作方法。 ... [详细]
  • 本文详细介绍了 Dockerfile 的编写方法及其在网络配置中的应用,涵盖基础指令、镜像构建与发布流程,并深入探讨了 Docker 的默认网络、容器互联及自定义网络的实现。 ... [详细]
  • 深入理解Java中的volatile、内存屏障与CPU指令
    本文详细探讨了Java中volatile关键字的作用机制,以及其与内存屏障和CPU指令之间的关系。通过具体示例和专业解析,帮助读者更好地理解多线程编程中的同步问题。 ... [详细]
  • 如何在PHPcms网站中添加广告
    本文详细介绍了在PHPcms网站后台添加广告的方法,涵盖多种常见的广告形式,如百度广告和Google广告,并提供了相关设置的步骤。同时,文章还探讨了优化网站流量的SEO策略。 ... [详细]
  • 前言--页数多了以后需要指定到某一页(只做了功能,样式没有细调)html ... [详细]
  • 在哈佛大学商学院举行的Cyberposium大会上,专家们深入探讨了开源软件的崛起及其对企业市场的影响。会议指出,开源软件不仅为企业提供了新的增长机会,还促进了软件质量的提升和创新。 ... [详细]
  • 深入理解C++中的KMP算法:高效字符串匹配的利器
    本文详细介绍C++中实现KMP算法的方法,探讨其在字符串匹配问题上的优势。通过对比暴力匹配(BF)算法,展示KMP算法如何利用前缀表优化匹配过程,显著提升效率。 ... [详细]
  • DNN Community 和 Professional 版本的主要差异
    本文详细解析了 DotNetNuke (DNN) 的两种主要版本:Community 和 Professional。通过对比两者的功能和附加组件,帮助用户选择最适合其需求的版本。 ... [详细]
author-avatar
晨晖03_753
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有