随便写写
1. Java不能在一个方法里给一个变量多次赋值,而PHP可以。
public void Test() {
    String name = "Java";
    String name = "PHP";
}在Java不可以这么写的,报”已在方法Test中定义了变量name“
public function Test() {
    $name = 'Java';
    $name = 'PHP';
}在PHP这么写是可以的,变量$name的值是PHP
2. Java可以在一个class里定义同名方法,前提是静态&&参数不同。PHP不使用命名空间的前提下是不能在一个class里定义同名方法,参数不一样也不可以。
public class Test() {
    public static String getName(String params) {
        return "Java";
    }
    public static String getName(int params) {
        return "PHP";
    }
    public static void main(String[] args) {
        String name = getName("I am a string"); //返回Java
        String name = getName(1234); //返回PHP
    }
}而在PHP,不带命名空间的话,不管拿出什么招数,都不可以定义同名方法
<?php
class Test() {
    public function getName(string $params) {
        return "Java";
    }
    public function getName(int $params) {
        return "PHP";
    }
}这么写是不可以的。
来源:oschina
链接:https://my.oschina.net/nYtgEmMGe/blog/4287300