- Output for git.master, git.master_jit, rfc.property-hooks
- <!doctype html> <html> <head> <meta charset="utf-8"> <title>PHP comparisions</title> <link href='//fonts.googleapis.com/css?family=Inconsolata&subset=latin,latin-ext' rel='stylesheet' type='text/css'> <link href='//fonts.googleapis.com/css?family=Roboto&subset=latin,latin-ext' rel='stylesheet' type='text/css'> <style> * { font-size: 0.98em; } table { border-collapse: collapse; } th, td { margin: 0; padding: 7px; border: 1px solid #ddd; } th { font-weight: normal; background-color: #eee; } thead th:first-child { border-left: 0; border-top: 0; background-color: transparent; } th, .code { font-family: Inconsolata, monospace; white-space: pre; } tbody th { text-align: left; } td { text-align: center; } span.true { color: green; } span.false { color: red; opacity: 0.5; } .strict { display: none; } .hi { background-color: #ffa; } div { -moz-user-select: none; -khtml-user-select: none; -webkit-user-select: none; -o-user-select: none; user-select: none; } td, div { font-family: Roboto, sans-serif; } </style> </head> <body> <table> <thead> <tr> <th></th> <th>''</th><th>null</th><th>false</th><th>true</th><th>0</th><th>'0'</th><th>-1</th><th>'-1'</th><th>array()</th><th>array(null)</th><th>array(false)</th><th>array(0)</th><th>array('0')</th> </tr> </thead> <tbody> <tr> <th>if(...)</th> <td><span class="false">✗</span></td><td><span class="false">✗</span></td><td><span class="false">✗</span></td><td><span class="true">✓</span></td><td><span class="false">✗</span></td><td><span class="false">✗</span></td><td><span class="true">✓</span></td><td><span class="true">✓</span></td><td><span class="false">✗</span></td><td><span class="true">✓</span></td><td><span class="true">✓</span></td><td><span class="true">✓</span></td><td><span class="true">✓</span></td> </tr> <tr> <th>empty</th> <td><span class="true">✓</span></td><td><span class="true">✓</span></td><td><span class="true">✓</span></td><td><span class="false">✗</span></td><td><span class="true">✓</span></td><td><span class="true">✓</span></td><td><span class="false">✗</span></td><td><span class="false">✗</span></td><td><span class="true">✓</span></td><td><span class="false">✗</span></td><td><span class="false">✗</span></td><td><span class="false">✗</span></td><td><span class="false">✗</span></td> </tr> <tr> <th>is_null</th> <td><span class="false">✗</span></td><td><span class="true">✓</span></td><td><span class="false">✗</span></td><td><span class="false">✗</span></td><td><span class="false">✗</span></td><td><span class="false">✗</span></td><td><span class="false">✗</span></td><td><span class="false">✗</span></td><td><span class="false">✗</span></td><td><span class="false">✗</span></td><td><span class="false">✗</span></td><td><span class="false">✗</span></td><td><span class="false">✗</span></td> </tr> <tr> <th>is_numeric</th> <td><span class="false">✗</span></td><td><span class="false">✗</span></td><td><span class="false">✗</span></td><td><span class="false">✗</span></td><td><span class="true">✓</span></td><td><span class="true">✓</span></td><td><span class="true">✓</span></td><td><span class="true">✓</span></td><td><span class="false">✗</span></td><td><span class="false">✗</span></td><td><span class="false">✗</span></td><td><span class="false">✗</span></td><td><span class="false">✗</span></td> </tr> <tr> <th>intval</th> <td class="code">0</td><td class="code">0</td><td class="code">0</td><td class="code">1</td><td class="code">0</td><td class="code">0</td><td class="code">-1</td><td class="code">-1</td><td class="code">0</td><td class="code">1</td><td class="code">1</td><td class="code">1</td><td class="code">1</td> </tr> <tr> <th><span class="loose">== </span><span class="strict">===</span> ''</th> <td> <span class="loose"><span class="true">✓</span></span> <span class="strict"><span class="true">✓</span></span> </td><td> <span class="loose"><span class="true">✓</span></span> <span class="strict"><span class="false">✗</span></span> </td><td> <span class="loose"><span class="true">✓</span></span> <span class="strict"><span class="false">✗</span></span> </td><td> <span class="loose"><span class="false">✗</span></span> <span class="strict"><span class="false">✗</span></span> </td><td> <span class="loose"><span class="false">✗</span></span> <span class="strict"><span class="false">✗</span></span> </td><td> <span class="loose"><span class="false">✗</span></span> <span class="strict"><span class="false">✗</span></span> </td><td> <span class="loose"><span class="false">✗</span></span> <span class="strict"><span class="false">✗</span></span> </td><td> <span class="loose"><span class="false">✗</span></span> <span class="strict"><span class="false">✗</span></span> </td><td> <span class="loose"><span class="false">✗</span></span> <span class="strict"><span class="false">✗</span></span> </td><td> <span class="loose"><span class="false">✗</span></span> <span class="strict"><span class="false">✗</span></span> </td><td> <span class="loose"><span class="false">✗</span></span> <span class="strict"><span class="false">✗</span></span> </td><td> <span class="loose"><span class="false">✗</span></span> <span class="strict"><span class="false">✗</span></span> </td><td> <span class="loose"><span class="false">✗</span></span> <span class="strict"><span class="false">✗</span></span> </td></tr><tr> <th><span class="loose">== </span><span class="strict">===</span> null</th> <td> <span class="loose"><span class="true">✓</span></span> <span class="strict"><span class="false">✗</span></span> </td><td> <span class="loose"><span class="true">✓</span></span> <span class="strict"><span class="true">✓</span></span> </td><td> <span class="loose"><span class="true">✓</span></span> <span class="strict"><span class="false">✗</span></span> </td><td> <span class="loose"><span class="false">✗</span></span> <span class="strict"><span class="false">✗</span></span> </td><td> <span class="loose"><span class="true">✓</span></span> <span class="strict"><span class="false">✗</span></span> </td><td> <span class="loose"><span class="false">✗</span></span> <span class="strict"><span class="false">✗</span></span> </td><td> <span class="loose"><span class="false">✗</span></span> <span class="strict"><span class="false">✗</span></span> </td><td> <span class="loose"><span class="false">✗</span></span> <span class="strict"><span class="false">✗</span></span> </td><td> <span class="loose"><span class="true">✓</span></span> <span class="strict"><span class="false">✗</span></span> </td><td> <span class="loose"><span class="false">✗</span></span> <span class="strict"><span class="false">✗</span></span> </td><td> <span class="loose"><span class="false">✗</span></span> <span class="strict"><span class="false">✗</span></span> </td><td> <span class="loose"><span class="false">✗</span></span> <span class="strict"><span class="false">✗</span></span> </td><td> <span class="loose"><span class="false">✗</span></span> <span class="strict"><span class="false">✗</span></span> </td></tr><tr> <th><span class="loose">== </span><span class="strict">===</span> false</th> <td> <span class="loose"><span class="true">✓</span></span> <span class="strict"><span class="false">✗</span></span> </td><td> <span class="loose"><span class="true">✓</span></span> <span class="strict"><span class="false">✗</span></span> </td><td> <span class="loose"><span class="true">✓</span></span> <span class="strict"><span class="true">✓</span></span> </td><td> <span class="loose"><span class="false">✗</span></span> <span class="strict"><span class="false">✗</span></span> </td><td> <span class="loose"><span class="true">✓</span></span> <span class="strict"><span class="false">✗</span></span> </td><td> <span class="loose"><span class="true">✓</span></span> <span class="strict"><span class="false">✗</span></span> </td><td> <span class="loose"><span class="false">✗</span></span> <span class="strict"><span class="false">✗</span></span> </td><td> <span class="loose"><span class="false">✗</span></span> <span class="strict"><span class="false">✗</span></span> </td><td> <span class="loose"><span class="true">✓</span></span> <span class="strict"><span class="false">✗</span></span> </td><td> <span class="loose"><span class="false">✗</span></span> <span class="strict"><span class="false">✗</span></span> </td><td> <span class="loose"><span class="false">✗</span></span> <span class="strict"><span class="false">✗</span></span> </td><td> <span class="loose"><span class="false">✗</span></span> <span class="strict"><span class="false">✗</span></span> </td><td> <span class="loose"><span class="false">✗</span></span> <span class="strict"><span class="false">✗</span></span> </td></tr><tr> <th><span class="loose">== </span><span class="strict">===</span> true</th> <td> <span class="loose"><span class="false">✗</span></span> <span class="strict"><span class="false">✗</span></span> </td><td> <span class="loose"><span class="false">✗</span></span> <span class="strict"><span class="false">✗</span></span> </td><td> <span class="loose"><span class="false">✗</span></span> <span class="strict"><span class="false">✗</span></span> </td><td> <span class="loose"><span class="true">✓</span></span> <span class="strict"><span class="true">✓</span></span> </td><td> <span class="loose"><span class="false">✗</span></span> <span class="strict"><span class="false">✗</span></span> </td><td> <span class="loose"><span class="false">✗</span></span> <span class="strict"><span class="false">✗</span></span> </td><td> <span class="loose"><span class="true">✓</span></span> <span class="strict"><span class="false">✗</span></span> </td><td> <span class="loose"><span class="true">✓</span></span> <span class="strict"><span class="false">✗</span></span> </td><td> <span class="loose"><span class="false">✗</span></span> <span class="strict"><span class="false">✗</span></span> </td><td> <span class="loose"><span class="true">✓</span></span> <span class="strict"><span class="false">✗</span></span> </td><td> <span class="loose"><span class="true">✓</span></span> <span class="strict"><span class="false">✗</span></span> </td><td> <span class="loose"><span class="true">✓</span></span> <span class="strict"><span class="false">✗</span></span> </td><td> <span class="loose"><span class="true">✓</span></span> <span class="strict"><span class="false">✗</span></span> </td></tr><tr> <th><span class="loose">== </span><span class="strict">===</span> 0</th> <td> <span class="loose"><span class="false">✗</span></span> <span class="strict"><span class="false">✗</span></span> </td><td> <span class="loose"><span class="true">✓</span></span> <span class="strict"><span class="false">✗</span></span> </td><td> <span class="loose"><span class="true">✓</span></span> <span class="strict"><span class="false">✗</span></span> </td><td> <span class="loose"><span class="false">✗</span></span> <span class="strict"><span class="false">✗</span></span> </td><td> <span class="loose"><span class="true">✓</span></span> <span class="strict"><span class="true">✓</span></span> </td><td> <span class="loose"><span class="true">✓</span></span> <span class="strict"><span class="false">✗</span></span> </td><td> <span class="loose"><span class="false">✗</span></span> <span class="strict"><span class="false">✗</span></span> </td><td> <span class="loose"><span class="false">✗</span></span> <span class="strict"><span class="false">✗</span></span> </td><td> <span class="loose"><span class="false">✗</span></span> <span class="strict"><span class="false">✗</span></span> </td><td> <span class="loose"><span class="false">✗</span></span> <span class="strict"><span class="false">✗</span></span> </td><td> <span class="loose"><span class="false">✗</span></span> <span class="strict"><span class="false">✗</span></span> </td><td> <span class="loose"><span class="false">✗</span></span> <span class="strict"><span class="false">✗</span></span> </td><td> <span class="loose"><span class="false">✗</span></span> <span class="strict"><span class="false">✗</span></span> </td></tr><tr> <th><span class="loose">== </span><span class="strict">===</span> '0'</th> <td> <span class="loose"><span class="false">✗</span></span> <span class="strict"><span class="false">✗</span></span> </td><td> <span class="loose"><span class="false">✗</span></span> <span class="strict"><span class="false">✗</span></span> </td><td> <span class="loose"><span class="true">✓</span></span> <span class="strict"><span class="false">✗</span></span> </td><td> <span class="loose"><span class="false">✗</span></span> <span class="strict"><span class="false">✗</span></span> </td><td> <span class="loose"><span class="true">✓</span></span> <span class="strict"><span class="false">✗</span></span> </td><td> <span class="loose"><span class="true">✓</span></span> <span class="strict"><span class="true">✓</span></span> </td><td> <span class="loose"><span class="false">✗</span></span> <span class="strict"><span class="false">✗</span></span> </td><td> <span class="loose"><span class="false">✗</span></span> <span class="strict"><span class="false">✗</span></span> </td><td> <span class="loose"><span class="false">✗</span></span> <span class="strict"><span class="false">✗</span></span> </td><td> <span class="loose"><span class="false">✗</span></span> <span class="strict"><span class="false">✗</span></span> </td><td> <span class="loose"><span class="false">✗</span></span> <span class="strict"><span class="false">✗</span></span> </td><td> <span class="loose"><span class="false">✗</span></span> <span class="strict"><span class="false">✗</span></span> </td><td> <span class="loose"><span class="false">✗</span></span> <span class="strict"><span class="false">✗</span></span> </td></tr><tr> <th><span class="loose">== </span><span class="strict">===</span> -1</th> <td> <span class="loose"><span class="false">✗</span></span> <span class="strict"><span class="false">✗</span></span> </td><td> <span class="loose"><span class="false">✗</span></span> <span class="strict"><span class="false">✗</span></span> </td><td> <span class="loose"><span class="false">✗</span></span> <span class="strict"><span class="false">✗</span></span> </td><td> <span class="loose"><span class="true">✓</span></span> <span class="strict"><span class="false">✗</span></span> </td><td> <span class="loose"><span class="false">✗</span></span> <span class="strict"><span class="false">✗</span></span> </td><td> <span class="loose"><span class="false">✗</span></span> <span class="strict"><span class="false">✗</span></span> </td><td> <span class="loose"><span class="true">✓</span></span> <span class="strict"><span class="true">✓</span></span> </td><td> <span class="loose"><span class="true">✓</span></span> <span class="strict"><span class="false">✗</span></span> </td><td> <span class="loose"><span class="false">✗</span></span> <span class="strict"><span class="false">✗</span></span> </td><td> <span class="loose"><span class="false">✗</span></span> <span class="strict"><span class="false">✗</span></span> </td><td> <span class="loose"><span class="false">✗</span></span> <span class="strict"><span class="false">✗</span></span> </td><td> <span class="loose"><span class="false">✗</span></span> <span class="strict"><span class="false">✗</span></span> </td><td> <span class="loose"><span class="false">✗</span></span> <span class="strict"><span class="false">✗</span></span> </td></tr><tr> <th><span class="loose">== </span><span class="strict">===</span> '-1'</th> <td> <span class="loose"><span class="false">✗</span></span> <span class="strict"><span class="false">✗</span></span> </td><td> <span class="loose"><span class="false">✗</span></span> <span class="strict"><span class="false">✗</span></span> </td><td> <span class="loose"><span class="false">✗</span></span> <span class="strict"><span class="false">✗</span></span> </td><td> <span class="loose"><span class="true">✓</span></span> <span class="strict"><span class="false">✗</span></span> </td><td> <span class="loose"><span class="false">✗</span></span> <span class="strict"><span class="false">✗</span></span> </td><td> <span class="loose"><span class="false">✗</span></span> <span class="strict"><span class="false">✗</span></span> </td><td> <span class="loose"><span class="true">✓</span></span> <span class="strict"><span class="false">✗</span></span> </td><td> <span class="loose"><span class="true">✓</span></span> <span class="strict"><span class="true">✓</span></span> </td><td> <span class="loose"><span class="false">✗</span></span> <span class="strict"><span class="false">✗</span></span> </td><td> <span class="loose"><span class="false">✗</span></span> <span class="strict"><span class="false">✗</span></span> </td><td> <span class="loose"><span class="false">✗</span></span> <span class="strict"><span class="false">✗</span></span> </td><td> <span class="loose"><span class="false">✗</span></span> <span class="strict"><span class="false">✗</span></span> </td><td> <span class="loose"><span class="false">✗</span></span> <span class="strict"><span class="false">✗</span></span> </td></tr><tr> <th><span class="loose">== </span><span class="strict">===</span> array()</th> <td> <span class="loose"><span class="false">✗</span></span> <span class="strict"><span class="false">✗</span></span> </td><td> <span class="loose"><span class="true">✓</span></span> <span class="strict"><span class="false">✗</span></span> </td><td> <span class="loose"><span class="true">✓</span></span> <span class="strict"><span class="false">✗</span></span> </td><td> <span class="loose"><span class="false">✗</span></span> <span class="strict"><span class="false">✗</span></span> </td><td> <span class="loose"><span class="false">✗</span></span> <span class="strict"><span class="false">✗</span></span> </td><td> <span class="loose"><span class="false">✗</span></span> <span class="strict"><span class="false">✗</span></span> </td><td> <span class="loose"><span class="false">✗</span></span> <span class="strict"><span class="false">✗</span></span> </td><td> <span class="loose"><span class="false">✗</span></span> <span class="strict"><span class="false">✗</span></span> </td><td> <span class="loose"><span class="true">✓</span></span> <span class="strict"><span class="true">✓</span></span> </td><td> <span class="loose"><span class="false">✗</span></span> <span class="strict"><span class="false">✗</span></span> </td><td> <span class="loose"><span class="false">✗</span></span> <span class="strict"><span class="false">✗</span></span> </td><td> <span class="loose"><span class="false">✗</span></span> <span class="strict"><span class="false">✗</span></span> </td><td> <span class="loose"><span class="false">✗</span></span> <span class="strict"><span class="false">✗</span></span> </td></tr><tr> <th><span class="loose">== </span><span class="strict">===</span> array(null)</th> <td> <span class="loose"><span class="false">✗</span></span> <span class="strict"><span class="false">✗</span></span> </td><td> <span class="loose"><span class="false">✗</span></span> <span class="strict"><span class="false">✗</span></span> </td><td> <span class="loose"><span class="false">✗</span></span> <span class="strict"><span class="false">✗</span></span> </td><td> <span class="loose"><span class="true">✓</span></span> <span class="strict"><span class="false">✗</span></span> </td><td> <span class="loose"><span class="false">✗</span></span> <span class="strict"><span class="false">✗</span></span> </td><td> <span class="loose"><span class="false">✗</span></span> <span class="strict"><span class="false">✗</span></span> </td><td> <span class="loose"><span class="false">✗</span></span> <span class="strict"><span class="false">✗</span></span> </td><td> <span class="loose"><span class="false">✗</span></span> <span class="strict"><span class="false">✗</span></span> </td><td> <span class="loose"><span class="false">✗</span></span> <span class="strict"><span class="false">✗</span></span> </td><td> <span class="loose"><span class="true">✓</span></span> <span class="strict"><span class="true">✓</span></span> </td><td> <span class="loose"><span class="true">✓</span></span> <span class="strict"><span class="false">✗</span></span> </td><td> <span class="loose"><span class="true">✓</span></span> <span class="strict"><span class="false">✗</span></span> </td><td> <span class="loose"><span class="false">✗</span></span> <span class="strict"><span class="false">✗</span></span> </td></tr><tr> <th><span class="loose">== </span><span class="strict">===</span> array(false)</th> <td> <span class="loose"><span class="false">✗</span></span> <span class="strict"><span class="false">✗</span></span> </td><td> <span class="loose"><span class="false">✗</span></span> <span class="strict"><span class="false">✗</span></span> </td><td> <span class="loose"><span class="false">✗</span></span> <span class="strict"><span class="false">✗</span></span> </td><td> <span class="loose"><span class="true">✓</span></span> <span class="strict"><span class="false">✗</span></span> </td><td> <span class="loose"><span class="false">✗</span></span> <span class="strict"><span class="false">✗</span></span> </td><td> <span class="loose"><span class="false">✗</span></span> <span class="strict"><span class="false">✗</span></span> </td><td> <span class="loose"><span class="false">✗</span></span> <span class="strict"><span class="false">✗</span></span> </td><td> <span class="loose"><span class="false">✗</span></span> <span class="strict"><span class="false">✗</span></span> </td><td> <span class="loose"><span class="false">✗</span></span> <span class="strict"><span class="false">✗</span></span> </td><td> <span class="loose"><span class="true">✓</span></span> <span class="strict"><span class="false">✗</span></span> </td><td> <span class="loose"><span class="true">✓</span></span> <span class="strict"><span class="true">✓</span></span> </td><td> <span class="loose"><span class="true">✓</span></span> <span class="strict"><span class="false">✗</span></span> </td><td> <span class="loose"><span class="true">✓</span></span> <span class="strict"><span class="false">✗</span></span> </td></tr><tr> <th><span class="loose">== </span><span class="strict">===</span> array(0)</th> <td> <span class="loose"><span class="false">✗</span></span> <span class="strict"><span class="false">✗</span></span> </td><td> <span class="loose"><span class="false">✗</span></span> <span class="strict"><span class="false">✗</span></span> </td><td> <span class="loose"><span class="false">✗</span></span> <span class="strict"><span class="false">✗</span></span> </td><td> <span class="loose"><span class="true">✓</span></span> <span class="strict"><span class="false">✗</span></span> </td><td> <span class="loose"><span class="false">✗</span></span> <span class="strict"><span class="false">✗</span></span> </td><td> <span class="loose"><span class="false">✗</span></span> <span class="strict"><span class="false">✗</span></span> </td><td> <span class="loose"><span class="false">✗</span></span> <span class="strict"><span class="false">✗</span></span> </td><td> <span class="loose"><span class="false">✗</span></span> <span class="strict"><span class="false">✗</span></span> </td><td> <span class="loose"><span class="false">✗</span></span> <span class="strict"><span class="false">✗</span></span> </td><td> <span class="loose"><span class="true">✓</span></span> <span class="strict"><span class="false">✗</span></span> </td><td> <span class="loose"><span class="true">✓</span></span> <span class="strict"><span class="false">✗</span></span> </td><td> <span class="loose"><span class="true">✓</span></span> <span class="strict"><span class="true">✓</span></span> </td><td> <span class="loose"><span class="true">✓</span></span> <span class="strict"><span class="false">✗</span></span> </td></tr><tr> <th><span class="loose">== </span><span class="strict">===</span> array('0')</th> <td> <span class="loose"><span class="false">✗</span></span> <span class="strict"><span class="false">✗</span></span> </td><td> <span class="loose"><span class="false">✗</span></span> <span class="strict"><span class="false">✗</span></span> </td><td> <span class="loose"><span class="false">✗</span></span> <span class="strict"><span class="false">✗</span></span> </td><td> <span class="loose"><span class="true">✓</span></span> <span class="strict"><span class="false">✗</span></span> </td><td> <span class="loose"><span class="false">✗</span></span> <span class="strict"><span class="false">✗</span></span> </td><td> <span class="loose"><span class="false">✗</span></span> <span class="strict"><span class="false">✗</span></span> </td><td> <span class="loose"><span class="false">✗</span></span> <span class="strict"><span class="false">✗</span></span> </td><td> <span class="loose"><span class="false">✗</span></span> <span class="strict"><span class="false">✗</span></span> </td><td> <span class="loose"><span class="false">✗</span></span> <span class="strict"><span class="false">✗</span></span> </td><td> <span class="loose"><span class="false">✗</span></span> <span class="strict"><span class="false">✗</span></span> </td><td> <span class="loose"><span class="true">✓</span></span> <span class="strict"><span class="false">✗</span></span> </td><td> <span class="loose"><span class="true">✓</span></span> <span class="strict"><span class="false">✗</span></span> </td><td> <span class="loose"><span class="true">✓</span></span> <span class="strict"><span class="true">✓</span></span> </td></tr> </tbody> </table> <div style="user-select:none"> <label><input type="checkbox" id="strict"> strict comparisions</label> </div> <script src="//code.jquery.com/jquery-1.11.0.min.js"></script> <script>(function() { $('#strict') .on('change', function() { $('.strict')[this.checked ? 'show' : 'hide'](); $('.loose')[this.checked ? 'hide' : 'show'](); }) .trigger('change') ; function hiCell(cell, hi) { var row = cell.parentNode.rowIndex, col = cell.cellIndex; $('thead tr th').eq(col)[hi ? 'addClass' : 'removeClass']('hi'); $('tbody tr').eq(row - 1).find('th').eq(0)[hi ? 'addClass' : 'removeClass']('hi'); $(cell)[hi ? 'addClass' : 'removeClass']('hi'); } $('td').on('mouseleave', function() { hiCell(this, false); }); $('td').on('mouseenter', function() { hiCell(this, true); }); })(); </script> </body> </html>
This tab shows result from various feature-branches currently under review by the php developers. Contact me to have additional branches featured.
Active branches
Archived branches
Once feature-branches are merged or declined, they are no longer available. Their functionality (when merged) can be viewed from the main output page
- 2020-03-21 RFC: Is_Literal - declined
- 2020-12-04 Enumerations - included in PHP 8.1
- 2018-06-15 Typed Properties v2 - implemented in PHP 7.4
- 2016-08-12 Object typehint - included in PHP 7.2
- 2016-08-14 Arrow functions - withdrawn
- 2016-05-29 array_change_keys() - withdrawn
- 2016-04-19 Lexical scope support for anonymous classes - suspended
- 2016-04-17 Functional Interfaces - declined
- 2016-03-16 Typed Properties - superseded in favor of Typed Properties 2.0
- 2015-08-27 Callable Prototypes - declined
- 2015-05-01 Short Closures - declined / withdrawn in favor of Arrow Functions
- 2015-02-18 Scalar type hints v5 - included in PHP 7
- 2015-02-14 Union Types - declined
- 2013-09-22 Anonymous classes - included in PHP 7