我以前刪除charactors使用:在特定索引處從字符串中刪除字符的最快方法?從字符串
$str[$position] = '';
我需要做的這幾次,在一個循環:
while ($condition == true)
{
$str[$position++] = '';
// My code
}
的代碼非常完美,是非常有效的,但是,它現在我已經升級到PHP 7.1.4不再適用。
如果我使用:
while ($condition == true)
{
$str[$position++] = ' ';
// My code
}
它的工作原理,但我得到不必要的空間。
但是,我可以使用這個工作,但是,這將是非常低效的。什麼是解決這個問題的最快和最有效的方式,爲什麼它不適用於PHP 7.1.4?
編輯
我固定的停止使用substr_replace
升級PHP之後使用的代碼。起初,它似乎tcPeng是正確的說:
,如果你指定一個空字符串爲一個字符串偏移,警告應提高和字符串不應該被修改
,因爲這是我遇到的確切問題。然而,在我的代碼中的其他地方,我有:
while (trim($file[$i]) !== 'default:')
$file[$i++] = '';
當然,該代碼應該不再工作。奇怪的是,它確實有效。爲什麼它能夠正常工作,並且我有什麼要改變代碼來使用substr_replace
?
我不得不修復的代碼與substr_replace
和發生的代碼仍然有效的唯一區別是我必須修復的代碼,該字符串是數組的一個元素,它的輸出是echo
。隨着代碼仍然有效,我用file_put_contents
保存它。