Arrays and Iteration
Linear Search
Walk an array once looking for a target value. Return the index of the
first match, or -1 if none. The simplest possible search loop.
Algorithm
Canonical input $arr = [4, 7, 1, 9, 3, 8] with $target = 9 finishes
after four compares; the matching index is 3.
Basic Implementation
basic.php
<?php
function linear_search($arr, $target) {
$i = 0;
while ($i < count($arr)) {
if ($arr[$i] == $target) {
return $i;
}
$i = $i + 1;
}
return -1;
}
$arr = [4, 7, 1, 9, 3, 8];
$target = 9;
$result = linear_search($arr, $target);
echo $result . "\n";
Complexity
- Time: O(n)
- Space: O(1)
Implementation notes
- PHP: explicit
while ($i < count($arr))with an earlyreturn $i;the moment$arr[$i] == $target. The stdlibarray_search($target, $arr)would hide the walk the lesson is teaching and would returnfalserather than-1on a miss. - Function signature
function linear_search($arr, $target)documents the array contract; the-1sentinel mirrors the language-neutral spec rather than returningfalse/null. - The replay shows the running index, the element being checked, and
a
matchindicator on each frame.
early exit
Return the index the moment `$arr[$i]` equals the target. Walking past it would defeat the point.
sentinel return
A no-match walk falls off the loop and returns `-1`.