我正在嘗試使用文本檔案創建資料保存變數。我讀到 laravel 中的 collect 函式是管理資料的正確選擇。
這是我使用 PHP_EOL 爆炸后保存的資料:
我想要做的是用“|”對每個陣列再次爆炸,所以我的代碼是這樣的,但它不能。
$temps=explode(PHP_EOL,$note);
$isi=collect([
explode('|',$temps)
]);
僅當它伴隨著這樣的手動陣列時才能應用此代碼:
$isi=collect([
explode('|',$temps[0]),
explode('|',$temps[2])
]);
dd 輸出:
請幫忙。
uj5u.com熱心網友回復:
正如我認為您已經解決的那樣,explode回傳一個陣列但接受一個字串,因此您不能將結果explode直接傳遞給另一個explode呼叫。
相反,您需要獲取 first 生成的陣列中的每個單獨的字串,explode并且每個單獨的字串explode。
顯然,嘗試硬編碼對陣列中每個專案的參考(根據您的嘗試)是不切實際的,因此您可以使用回圈來獲取每個專案,或者更簡潔的方法是使用array_map,就像在以下示例:
function pipeExplode($str)
{
return explode("|", $str);
}
$text = "sdlkfjsdl|kwflwerflwekr|wlkjlgk4w\n3rtljhrfgkjed|3jhkrjghd|4t44thj\n33rtlhwege|3rth3herjgke|hkjfgdf";
$arr = explode(PHP_EOL, $text);
$finalArr = array_map('pipeExplode', $arr);
print_r($finalArr);
演示:https ://3v4l.org/EM6Ct
這將從第一個陣列中獲取每個字串,將其傳遞給pipeExplode函式以從中獲取一個新陣列,然后將該陣列添加回array_map函式回傳的外部陣列中。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/437543.html
標籤:php 拉拉维尔 laravel-8 爆炸 laravel 集合
下一篇:SAML私鑰泄漏
