rfc:list_default_value

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
rfc:list_default_value [2015/11/09 13:53] reezerfc:list_default_value [2017/09/22 13:28] (current) – external edit 127.0.0.1
Line 9: Line 9:
 We could destruct variables from an array with [[http://php.net/list| list constuct]], it may be nested or a simple array. But there is no guarantee that the array can fulfill all variables, it will be simple assigned with null with notice error (not good). We will need several redundant code to handle the possible cases if we want to check it and assign it with default values.  We could destruct variables from an array with [[http://php.net/list| list constuct]], it may be nested or a simple array. But there is no guarantee that the array can fulfill all variables, it will be simple assigned with null with notice error (not good). We will need several redundant code to handle the possible cases if we want to check it and assign it with default values. 
  
-For the similar purpose we introduced  [[http://php.net/manual/en/language.operators.comparison.php#language.operators.comparison|Null coalesce "??"]] and [[http://php.net/manual/en/language.operators.comparison.php#language.operators.comparison.ternary|Ternary Operator "?:"]] to help write clean code.+For the similar reason we introduced  [[http://php.net/manual/en/language.operators.comparison.php#language.operators.comparison|Null coalesce "??"]] and [[http://php.net/manual/en/language.operators.comparison.php#language.operators.comparison.ternary|Ternary Operator "?:"]] to help write clean code.
  
 Some clever users figured out  some workaround like this  [[http://php.net/manual/en/function.list.php#113189|User contributed notes]]. But that is not good enough and ugly. Some clever users figured out  some workaround like this  [[http://php.net/manual/en/function.list.php#113189|User contributed notes]]. But that is not good enough and ugly.
Line 15: Line 15:
 ===== Proposal ===== ===== Proposal =====
  
-Support new syntax to set default value for list elements, when there the requested index it not found in array:+Support new syntax to set default values for list elements, when the requested index it is not found in array:
  
 <code php> <code php>
Line 22: Line 22:
 list($a, $b='default') = [1, 2];  // a = 1, b = 2 list($a, $b='default') = [1, 2];  // a = 1, b = 2
  
-//  comparation +//  comparation  
-list($a, list($b=1, $c=2) = $arr;+list($a, list($b=1, $c=2)) = $arr;
 // or we need to check it ourself // or we need to check it ourself
 if (!isset($arr[1][0])) { if (!isset($arr[1][0])) {
Line 32: Line 32:
 } }
  
-$list($a, list($b, $c)) = $arr;+list($a, list($b, $c)) = $arr;
  
  
Line 51: Line 51:
 <code php> <code php>
  
-list($a, $b='deafult') = $arr;+list($a, $b='default') = $arr;
  
 // equals // equals
rfc/list_default_value.1447077218.txt.gz · Last modified: 2017/09/22 13:28 (external edit)