$start = true; $new = ""; foreach($array as $val) { if($start = true && $val != " ") { $start = false; $new .= strtoupper($val); } elseif($val == " ") { $new .= " "; $start = true; } else { $new .= strtolower($val); } $start = false; }
В основном, что происходит, $start
НИКОГДА не становится false
и все становится капитализированным. Таким образом, он выглядит как первый, if
IS работает, но по какой-то причине NEVER SETS $start
false
.