第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

foreach() 在文件寫入時(shí)添加空行

foreach() 在文件寫入時(shí)添加空行

PHP
森林海 2021-08-28 09:03:53
我正在嘗試從文件中讀取和寫入!該文件將始終以 6 行開(kāi)頭。默認(rèn)設(shè)置文件如下所示:1050255 255 2550 255 00 255 00 255 0我有一個(gè)默認(rèn)設(shè)置文件和另一個(gè)在其中完成讀寫的當(dāng)前設(shè)置文件。我使用 3 個(gè)全局聲明的數(shù)組來(lái)讀取和寫入值:$arrayInputs = array();$arrayDefaults = array();$arrayColorsHEX = array();我從默認(rèn)文件開(kāi)始:if(filesize($inputsFilePath)<=0) {    if ($defaultSettingsFile) {        // echo "<br>Reading from $defaultFilePath<br>";        // Fill $arrayDefaults        $arrayDefaults = explode(PHP_EOL, fread($defaultSettingsFile, filesize($defaultFilePath)));        fclose($defaultSettingsFile);        // Output $arrayDefaults        var_dump($arrayDefaults);        foreach ($arrayDefaults as $keyD => $valueD) {            $arrayInputs[$keyD] = $arrayDefaults[$keyD];        }        var_dump($arrayInputs);        $Timer = $arrayDefaults[0];        $Brightness = $arrayDefaults[1];        $arrayColorsHEX[0] = RGBtoHexadecimal($arrayDefaults[2]);        $arrayColorsHEX[1] = RGBtoHexadecimal($arrayDefaults[3]);        $arrayColorsHEX[2] = RGBtoHexadecimal($arrayDefaults[4]);        $arrayColorsHEX[3] = RGBtoHexadecimal($arrayDefaults[5]);    }}我填寫$arrayDefaults和$arrayInputs。因此,兩個(gè)數(shù)組上的 var_dump 將如下所示:/var/www/mysite/inputs.php:53:array (size=7)  0 => string '10' (length=2)  1 => string '50' (length=2)  2 => string '255 255 255' (length=11)  3 => string '0 255 0' (length=7)  4 => string '0 255 0' (length=7)  5 => string '0 255 0' (length=7)  6 => string '' (length=0)/var/www/mysite/inputs.php:57:array (size=7)  0 => string '10' (length=2)  1 => string '50' (length=2)  2 => string '255 255 255' (length=11)  3 => string '0 255 0' (length=7)  4 => string '0 255 0' (length=7)  5 => string '0 255 0' (length=7)  6 => string '' (length=0)我不喜歡它在數(shù)組中添加另一個(gè)空元素的事實(shí),但我想不出修復(fù)它的方法。請(qǐng)注意,我已經(jīng)嘗試了 2 種寫入文件的方法。現(xiàn)在,問(wèn)題是對(duì)于每次頁(yè)面刷新,代碼都會(huì)在文件中添加一個(gè)空行,在$arrayInputs. 還為每個(gè)POST.我怎樣才能解決這個(gè)問(wèn)題 ?
查看完整描述

1 回答

?
泛舟湖上清波郎朗

TA貢獻(xiàn)1818條經(jīng)驗(yàn) 獲得超3個(gè)贊

您在最后一行后添加 EOL。這就是explode返回 6 條記錄的原因。


關(guān)閉文件后,內(nèi)容如下所示(注意末尾的 EOL)


line1 EOL line2 EOL line3 EOL line4 EOL line5 EOL line 6 EOL

您希望您的文件看起來(lái)像這樣(最后沒(méi)有任何 EOL):


line1 EOL line2 EOL line3 EOL line4 EOL line5 EOL line 6

要解決此問(wèn)題,您可以嘗試以下方法之一:


建議1:在爆炸前修剪文件內(nèi)容:


換線


explode(PHP_EOL, fread($currentSettingsFile, filesize($inputsFilePath)));


explode(PHP_EOL, trim(fread($currentSettingsFile), filesize($inputsFilePath)));

建議2:修改寫法,如下


foreach ($arrayInputs as $key2 => $value2) {

  if ($key2 != 0) {

    fwrite($currentSettingsFile,PHP_EOL);

  }

  fwrite($currentSettingsFile,$value2);

}

建議3:使用內(nèi)爆寫入文件,沒(méi)有任何for


fwrite($currentSettingsFile, implode(PHP_EOL, $arrayInputs));

就我個(gè)人而言,我會(huì)選擇第三個(gè)建議。


查看完整回答
反對(duì) 回復(fù) 2021-08-28
  • 1 回答
  • 0 關(guān)注
  • 266 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)