コメントで提案したように、より簡単な方法は を使用して新しいデータを読み取ることだと思いますfile()
。これにより、既に配列に変換されます。
<?php
$thing=array(
'modules' => array(
'Application',
'DoctrineModule',
'DoctrineORMModule'
)
);
foreach(file("modules.txt") as $new) {
$thing['modules'][]=trim($new);
}
print_r($thing);
そして結果:
[ghoti@pc ~]$ cat modules.txt
foo
bar
[ghoti@pc ~]$ echo "snerkle" >> modules.txt
[ghoti@pc ~]$ php -f myphpfile.php
Array
(
[modules] => Array
(
[0] => Application
[1] => DoctrineModule
[2] => DoctrineORMModule
[3] => foo
[4] => bar
[5] => snerkle
)
)
[ghoti@pc ~]$
使用する唯一の理由は、各要素foreach(){}
を許可することです。trim()
末尾に改行があることを気にしない場合は['modules']
、ループを次のように置き換えるだけです。
$thing['modules']=array_merge($thing['modules'], file("modules.txt"));
私はあなたreturn
が何についてだったのか分かりません。おそらく、質問のコードは関数からの抜粋でした。とにかく、これはアイデアを理解するのに十分なはずです。