new演算子とメンバ参照をワンライナーで書いたとき、
Java は new演算子である
PHP は メンバ参照である
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
import java.util.*; public class Main { public static void main(String[] args) throws Exception { // new演算子が優先 System.out.println(new MyNum(8492).getNum()); } } class MyNum { protected int num; public MyNum(int num) { this.num = num; } public int getNum() { return this.num; } } |
1 |
8492 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
<?php // メンバ参照が優先のためエラーになる // print_r(new MyNum(123)->getNum()); // new演算子の結合を優先してあげると正常終了する print_r((new MyNum(8492))->getNum()); class MyNum { protected $num; public function __construct(int $num) { $this->num = $num; } public function getNum(): int { return $this->num; } } |
1 |
8492 |