我有点紧张,这是我的第一个问题,但我在这方面很努力,可以使用一些帮助。PHP:为输入字符串匹配的字段调整数组键的值
我做了一个处理草图,通过向php脚本发送查询来访问,排序和保存csv列表。它获取已排序的列表并显示它们。 (我不想进入XML或SQL,直到后来)
现在我试图使它有可能对列表中的条目进行投票。
在我的代码片段下面,我有一个查询来处理通过发送字符串的条目投票。
我想检查从数组中的字段处理传递的条目字符串,并通过向其添加一票投票来调整分数。
下面的代码不会破坏我的其他运行代码,但也不会调整投票。 我怀疑有一些方法,我不能正确访问字符串值,不知道是否有人能告诉我....
$ListV[]='score';
$ListV[]='entry';
<Snip>
if ($type == "voteUp") {
$Entry = $_GET['Entry'];
if(($handle = fopen("List.csv", 'r')) !== FALSE) {
set_time_limit(0);
while(($data = fgetcsv($handle,0,',')) !== FALSE) {
$ListV[$row]=$data;
$row++;
}
fclose ($handle);
$count = count($ListV);
for($i=0; $i<$count; $i++){ //foreach???
if ($rListV[$i][1]==$Entry || strcmp($rListV[$i][1],$Entry)==0) {
$score =int($rListV[$i][0]);
$rListV[$i][0]=$score+1;
}
}
header('Content-Type: text/csv; charset=utf-8');
header('Content-Disposition: attachment; filename=file.csv');
$listVote = fopen("List.csv",'w');
foreach ($ListV as $values) {fputcsv($listVote,$values);}
fclose($listVote);
}
}
我相信我已经构建了得分和输入字段一个可行的二维数组。 我把分数放在第一位的原因是我可以利用关键排序,并在需要时使用数组索引(例如它在php中)。
请注意,我不是试图改变与此列表中的投票指数,只是得分。 所以结果应该如下;
投票前:
2157 Kittenz
2157 DOGZ
11 Antelopez
为DOGZ表决后;
2157 Kittenz
2158 DOGZ
11 Antelopez
所以,Kittenz总是索引1,DOGZ总是索引2,依此类推.... (关键排序给出一个排序后的数组)
谢谢!一旦你看到它,一个明显的错字。该代码仍然无法正常工作,所以我将检查字符串信息进来 - 否则代码看起来好吗? (如果它很复杂,我理解它更好!) –
你能建议简化的代码,还是应该工作正常? –