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
View Developer Edit
Welcome! If you don't have a Git account, you can't do anything here.
If you reported this bug, you can edit this bug over here.
(description)
Block user comment
Status: Assign to:
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 01:01:29 2025 UTC