title: Does PHP have a terse way of creating a "lazy array"?
body: <p>I want a terse way of doing something like this. </p>
  
  <pre><code>$this-&gt;requireAllConditionsAreTruthy([
      function() { return $this-&gt;clan },
      function() { return $this-&gt;team },
      function() { return $this-&gt;memberToAdd },
      function() { return $this-&gt;section },
      function() { return $this-&gt;clan-&gt;hasTeamForSection($this-&gt;section) },
      function() { return $this-&gt;memberToAdd-&gt;isInClan($this-&gt;clan) },
      function() { return ! $this-&gt;team-&gt;hasMember($this-&gt;memberToAdd) },
      function() { return ! $this-&gt;memberToAdd-&gt;isOnTeamForSection($this-&gt;section) }
  ]);
  </code></pre>
  
  <p>The purpose being that if something like <code>$this-&gt;clan</code> turns out to be falsey, I want to be able to throw an exception and log which condition failed and drop out of the array iteration before calling <code>$this-&gt;clan-&gt;hasTeamForSection</code>.</p>
  
  <p>Does PHP have a terse way of defining a lazy-evaluated array?</p>