我有两个长度相同的 txt 文件(每个文件 10 行)。一个文件具有 ID,另一个文件具有与每个 ID 关联的“评级”(0、1、2 等)。例如:
文本 1 | 文本 2
123 | 1
234 | 2
等
我想在提供 ID 时替换评级。
我所做的是搜索与提供的 ID 关联的键,当它与 ratings 数组中的键匹配时,我替换 ratings 数组中的相应值。
因此,想法是在 ids (key=0) 中找到 '123' 的键,并将评级值替换为 key=0(在本例中为 1)以获得另一个值。
我在函数中有以下内容:
public function updateRating($disease, $id, $rating){
$filename = $disease.".txt";
$filename_2 = $disease."Ratings.txt";
$ids = file($filename);
$ratings = file($filename_2);
$index_ids = array_keys($ids, $id."\n");
$index_ratings = array_keys($ratings);
$size = count($ids);
for($i=0; $i<$size; $i++){
if($index_ratings[$i] == $index_ids){
$ratings = str_replace($ratings[$i], $rating."\n", $ratings);
}
}
$ratings_n = implode("", $ratings);
file_put_contents($filename_2, $ratings_n);
return array("debug2" => $index_ids, "debug3" => $index_ratings, "debug4" => $ratings);
index_ids(提供的 ID 的键)被正确返回,但是评级数组($ratings)被返回,就好像什么都没有被替换一样。这段代码有什么问题,我怎样才能更正它来做我想做的事?
叮当猫咪
米脂