title: Does null coalescing operator call a function twice?
body: <p>The null coalescing operator (<code>??</code>) returns its first operand if it exists and is not NULL, and otherwise returns its second operand.</p>
  
  <p>If the first operand is a function or method call, does the operator call the function call twice?</p>
  
  <p>As an example, say the function <code>get_name()</code> returns a string value or null.</p>
  
  <p><code>$name = get_name() ?? 'no name found';</code></p>
  
  <p>So is <code>get_name()</code> called once and the value stored ready to assign it to the variable (<code>$name</code>) or when the <code>??</code> is activated due to the function returning a value that is true for <code>isset()</code>, does <code>??</code> call on the first operand a second time to get the value?</p>