Strings and Text
Substring Extract
substr copies part of a string by start position and length.
substring
A substring is a smaller slice of text taken from a larger string.
Substring Extract
substring_extract.php
Replay: real traced execution (multi-file project)
<?php
$start = 0;
$text = "debug trace";
$piece = substr($text, $start, 5);
$pieceLength = strlen($piece);
echo "start=" . $start . "\n";
echo "piece=" . $piece . "\n";
echo "pieceLength=" . $pieceLength . "\n";
<?php
$start = 3;
$text = "debug trace";
$piece = substr($text, $start, 5);
$pieceLength = strlen($piece);
echo "start=" . $start . "\n";
echo "piece=" . $piece . "\n";
echo "pieceLength=" . $pieceLength . "\n";
<?php
$start = 6;
$text = "debug trace";
$piece = substr($text, $start, 5);
$pieceLength = strlen($piece);
echo "start=" . $start . "\n";
echo "piece=" . $piece . "\n";
echo "pieceLength=" . $pieceLength . "\n";
$start ← 0, $text ← debug trace, $piece ← debug, $pieceLength ← 5
1<?php2$start→ 0 = 0; //@start=3, 63$text→ debug trace = "debug trace";4$piece→ debug = substr($textdebug trace, $start0, 5);5$pieceLength→ 5 = strlen($piecedebug);67echo "start=" . $start0 . "\n";8echo "piece=" . $piecedebug . "\n";9echo "pieceLength=" . $pieceLength5 . "\n";outputstart=0 piece=debug pieceLength=5
$start ← 3, $text ← debug trace, $piece ← ug tr, $pieceLength ← 5
1<?php2$start→ 3 = 3;3$text→ debug trace = "debug trace";4$piece→ ug tr = substr($textdebug trace, $start3, 5);5$pieceLength→ 5 = strlen($pieceug tr);67echo "start=" . $start3 . "\n";8echo "piece=" . $pieceug tr . "\n";9echo "pieceLength=" . $pieceLength5 . "\n";outputstart=3 piece=ug tr pieceLength=5
$start ← 6, $text ← debug trace, $piece ← trace, $pieceLength ← 5
1<?php2$start→ 6 = 6;3$text→ debug trace = "debug trace";4$piece→ trace = substr($textdebug trace, $start6, 5);5$pieceLength→ 5 = strlen($piecetrace);67echo "start=" . $start6 . "\n";8echo "piece=" . $piecetrace . "\n";9echo "pieceLength=" . $pieceLength5 . "\n";outputstart=6 piece=trace pieceLength=5