php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Request #63815 please provide a shortcut language syntax
Submitted: 2012-12-20 14:42 UTC Modified: 2012-12-20 16:42 UTC
From: php at lool dot fr Assigned:
Status: Not a bug Package: *General Issues
PHP Version: Irrelevant OS: all
Private report: No CVE-ID: None
Welcome back! If you're the original bug submitter, here's where you can edit the bug or add additional notes.
If you forgot your password, you can retrieve your password here.
Password:
Status:
Package:
Bug Type:
Summary:
From: php at lool dot fr
New email:
PHP Version: OS:

 

 [2012-12-20 14:42 UTC] php at lool dot fr
Description:
------------
it is both long to write and difficult to read to have many lines like this in the source code:

$value  = isset($_POST['blabla']) ? $_POST['blabla'] : 'init_value';

it would be easier to have something like:

$value = isnotset($var,'init_value');



Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2012-12-20 14:59 UTC] pajoye@php.net
-Status: Open +Status: Not a bug
 [2012-12-20 14:59 UTC] pajoye@php.net
Use the ?: operator:

$v = $_POST['blabla'] ?: 'init_value';
 [2012-12-20 15:10 UTC] php at lool dot fr
using  $v = $_POST['blabla'] ?: 'init_value';

produces an error:

Notice: Undefined index 'blabla' ...  
the call to isset is also important to distinguish between an empty value and a not set value!!!
 [2012-12-20 16:34 UTC] nikic@php.net
Userland implementation of said function:

    function isnotset(&$var, $default) {
        if (isset($var)) {
            return $var;
        } else {
            return $default;
        }
    }
 [2012-12-20 16:42 UTC] php at lool dot fr
the purpose of a language syntax shortcut is both functionnality and performance.

currently, 2 array access to the same element is necessary, as with  built-in implementation, only 1 access will be done!

I do not even mention of a function call overhead!
 
PHP Copyright © 2001-2025 The PHP Group
All rights reserved.
Last updated: Sat May 03 14:01:30 2025 UTC