Это более эффективно, хотя, на мой взгляд, немного менее читабельно:
$mystring = substr($mystring, 0, strpos($mystring, " "));
Это связано с тем, что при strpos
цикл поиска останавливается до первого появления символа, а затем возвращается заданныйдлина строки.
При разнесении цикл поиска продолжается до конца строки.