3 回答
TA贡献1797条经验 获得超6个赞
而不是一点一点地读取它,而是使用将整个文件加载到一个数组中file()。然后,它处理每行并使用进行explode()拆分,按空间拆分并将其限制为2个元素,将拆分miroh RGB(219, 11, 11)成miroh和RGB(219, 11, 11)。然后,它将第一部分用作新数组的索引,并根据它存储颜色。
$usernamecolors = file($path . "usernamecolors.txt",
FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES)
or die("Unable to open file!");
$colors = [];
foreach ( $usernamecolors as $line ) {
list($name, $color) = explode(" ", $line, 2);
$colors[$name] = $color;
}
如果你那么
print_r($colors);
你得到...
Array
(
[miroh] => RGB(219, 11, 11)
[hellevator] => RGB(255, 11, 11)
)
TA贡献1845条经验 获得超8个赞
您只能使用chatusernames.txt并进行如下修改
miroh | RGB(219,11,11)
之后,您只需炸开每一行,并为每个用户分别设置用户名和颜色
$usernamecolors = fopen($path . "usernamecolors.txt", "r") or die("Unable to open file!");
$users = [];
while (!feof($usernamecolors)) {
$line = fgets($usernamecolors);
if (trim($line) != '') {
$line = explode('|', $line);
$users[] = ['username' => $line[0], 'color' => trim($line[1])];
}
}
- 3 回答
- 0 关注
- 145 浏览
添加回答
举报