PHP与Java语法上的简单对比

最近一朋友准备从java转PHP,帮她写个简单的PHP入门,简单的讲一下java与php的不同。

PS. ueditor实在不会用- -,凑合着看吧


PHP


Java


文件格式


<% %>或是<%php %>把代码包含在里面

保存为.php文件


直接书写

保存为.java文件


语言类型


即时编译执行


静态编译执行


注释


PHP独有

# 这也是单行注释

与java相同点:

// 这是单行注释

/*

这是多行注释块

它横跨了

多行

*/

变量命名


PHP独有

变量以 $ 符号开头,其后是变量的名称

与java相同:

变量名称必须以字母或下划线开头

变量名称不能以数字开头

变量名称只能包含字母数字字符和下划线(A-z、0-9 以及 _)

变量名称对大小写敏感($y 与 $Y 是两个不同的变量)


变量声明


php属于弱类型,需要的时候直接使用,不用声明

function test(){

$x = 10;

echo $x;

}

详细的使用方式

http://www.w3school.com.cn/php/php_variables.asp


强类型,需要声明类型和初始化

public void test(){

int x =10;

system.out.println(x);

}


简单的输出


echo $x;

或是

var_dump($x)


system.out.println(x);

变量类型
字符串、整数、浮点数、逻辑、数组、对象、NULL。

虽然PHP在变量声明不用指明类型,但是在语言的机制上还是有这些类型

普通数组


$goods = array(“商品1”,”商品2”);

使用

$goods[0],得到”商品1”

获得数组长度

echo count($goods);


String[] goods = new String[]{
商品1”,”商品2”}

使用

goods[0] ,得到”商品1”

获得数组长度

system.out.println(goods.length);


关联数组


$goodsInfo = array(“id” =>”xxxx”,”name” =>”商品1”,”price”=>”20.00”);

使用方法:

$goodsInfo[“id”];


在java中没有关联数组,想要实现类似功能只能使用map

Map<String,String> goodsInfo = new HashMap<String,String>();

goodsInfo.put(“id”,”xxxx”);

goodsInfo.put(“name”,”商品1”);

goodsInfo.put(“price”,”20.00”);

使用方法:

goodsInfo.get(“id”);


关联数组遍历


foreach($goodsInfo as $key => $val){

echo “商品属性:”.$key.”, 值:”.$val;

echo “<br/>”;

}

输出结果:

商品属性:id, 值:xxxx

……以下省略


for(String key : goodsInfo.keySet()){

String str = String.format(“商品属性:%s, 值:%s”,

key,goodsInfo.get(key));

system.out.println(str);

}

输出结果:

商品属性:id, 值:xxxx

……以下省略


运算符


太多,懒得写,自己看

http://www.w3school.com.cn/php/php_operators.asp


逻辑条件


If

If else

If elseif else

Switch

For

While

这几个都一样,没啥好说的,说一个php中有,而java中没有的

Foreach

这个和js的差不多,只适用于数组,并用于遍历数组中的每个键/值对。

对于普通数组

foreach ($array as $value) {

直接用$value

}

对于关联数组,例子参考上面关联数组里的

foreach ($array as $key=>$value) {

直接用$key和$value

}


函数


和js里的一样,这里就不写和java的区别了


内置的全局变量


PHP主要运用在web中,所以内置了许多全局变量,和java中使用request获取的一样的,具体解释看网页

http://www.w3school.com.cn/php/php_superglobals.asp

推荐书籍:《细说PHP》

推荐网站:php100

时间: 2024-08-05 02:20:04

PHP与Java语法上的简单对比的相关文章

从Android到iOS开发——(1)、objective-c与java语法对比

从Android到iOS开发--(1).objective-c与java语法 对比 从6月开始,因为有iOS项目要做,就开始了iOS开发之旅,截止今天,已经做了2个项目,给我的感受是iOS开发整体要比Android简单,但是开发细节上两者却又同样的烦恼.那么要想开发iOS,那么到底选择objective-c or swift,我的建议是前者,后者可以在swift2.0和xcode7 以后大家去学习会比较好些.好了,不废话了,下面咱们来看下objective-c和java语法上的比较,希望能让ja

新兵日记---java语法初体验

刚刚结束了java语法的学习,和之前学习的c++做一下对比. 1. 主要用途方面 java 适合待在服务器里,适合于后端开发,尤其是Web后端 ,有各种成熟的框架 , 有健全的生态环境. 手机领域,大数据领域等等 c++ 原本是想着做GUI, 结果发现MFC早就衰落,  GUI逐渐脚本化. c++用于底层开发,高性能领域 ,如游戏服务器后台,游戏开发,图像,流视频,引擎,底层通信等等 2.初始java语法 java语法比c++简单,提供了健全的内置类,如:String,StringBuffer.

程序员带你学习安卓开发,十天快速入-对比C#学习java语法

关注今日头条-做全栈攻城狮,学代码也要读书,爱全栈,更爱生活.提供程序员技术及生活指导干货. 如果你真想学习,请评论学过的每篇文章,记录学习的痕迹. 请把所有教程文章中所提及的代码,最少敲写三遍,达到熟悉的效果. 上次课程:.程序员带你学习安卓开发,十天快速入门-开发工具配置学习讲的是java环境的配置以及as安装工具的安装. 其中有网友@鹅鹅鹅_说道,其实jdk的环境变量配置,不用配置的那么麻烦了.当前的jdk版本只要设置一个变量javahome就可以了,其他的可以不需要配置.在这里提一下.

软件入门的知识之程序设计语言Java和C#的简单介绍和对比[图]

软件入门的知识之程序设计语言Java和C#的简单介绍和对比[图]:前言:要做软件就必然会涉及到程序设计语言,它是什么?有哪些特点?又有哪几部分组成的呢?在这里我们为大家做了一个总结,希望可以通过这些内容让大家对于程序设计语言有一个大概的认识.基本概念:1.低级/高级计算机的硬件只可以识别由1.0组成的机器指令程序,所以机器指令是最基本的计算机语言.由于机器指令是由特定的计算机系统所固有的.面向机器的语言,所以使用机器语言进行程序设计,效率低.可读性差.难以理解,而且也不便修改和维护.后来出现了由

c#语法与java语法的对比分析

早期开发的时候一直用c/c++,后来主要用的是java.最近需要用下c#. 熟悉了下c#,发现c#语言在对c/c++基础上做了很多简化,同时参考了很多java的语法习惯,本来在语法上c/c++就有很多和java类似的地方,现在c#就类似的地方更多了,不过还是有很多区别. 本文总结下c# 和 java的语法差别,便于相互学习,加强理解. 一.基本语法的对比 1.程序框架 同java一样,c#要求所有的代码都要在类中,不再同c++一样,既可以定义类,也可以定义全局的方法. java程序的入口代码必须

Java 和C/C++的“语法”上的差异!

额其实认为语言语法之间是没有可比性的! 但是因为额曾经学过C/C++,而今又学Java,有赵本山说的话:“知识都学杂了!”,所以我个人总结一下,望提醒自己! Java 和C/C++的对比: Java中: double 要用%f: 布尔型:boolean: 字符型占两个字节: If , while,for 中进行真假判断时只能使用逻辑表达式,不能用数字. 较长的整数后要加L: 默认所有实数都是double类型的: 安全性高:当高级类型转换为低级类型会报错!例:想要将double转换为float,

Gradle在大型Java项目上的应用

在Java构建工具的世界里,先有了Ant,然后有了Maven.Maven的CoC[1].依赖管理以及项目构建规则重用性等特点,让Maven几乎成为Java构建工具的事实标准.然而,冗余的依赖管理配置.复杂并且难以扩展的构建生命周期,都成为使用Maven的困扰. Gradle作为新的构建工具,获得了2010 Springy大奖,并入围了2011的Jax最佳Java技术发明奖.它是基于Groovy语言的构建工具,既保持了Maven的优点,又通过使用Groovy定义的DSL[2],克服了 Maven中

Java VS .NET:Java与.NET的特点对比

一.前言 为什么要写Java跟.NET对比? .NET出生之后就带着Java的影子.从模仿到创新,.NET平台也越来越成熟.他们不同的支持者也经常因为孰弱孰强的问题争论不休.但是本文并不是为了一分高下.而是针对Java平台跟.NET平台做一些对比.主要围绕项目构建.Web框架.项目部署展开讨论.相信经过这些讨论可以让Java/.NET工程师对Java平台..NET平台有更好的了解. 二.项目构建 项目构建工具 工欲善其事必先利其器.开发环境配置+工具使用当然要先讲了. 1.表面上的工具 平台 工

Java语法糖(3):泛型

泛型初探 在泛型(Generic type或Generics)出现之前,是这么写代码的: public static void main(String[] args){List list = new ArrayList();list.add("123");list.add("456"); System.out.println((String)list.get(0));}当然这是完全允许的,因为List里面的内容是Object类型的,自然任何对象类型都可以放入.都可以