title: Is string offset an alias for substring? Do string offsets dynamically allocate memory?
body: <p>Take these two lines as an example.</p>
  <pre><code>ord($str[0])
  ord(substr($str, 0, 1))
  </code></pre>
  <p>I'm aware that the second line would dynamically allocate heap memory, copy the first character into a new string, and pass that to <code>ord</code>. Does the first line do the same? Or does it just load the byte at that offset and pass it by value to <code>ord</code>?</p>