如何从php中的文本文件中检索特定用户的数据

我有一个文本文件,它存储这样的信息。


user_id cust  rating


1:1,4

2:2,5

1:1,5

1:3,4

1:1,1

1:4,2

3:5,5

2:2,1

第一个是将信息存储到文件的用户 ID 现在我想检索该特定用户的数据,例如,用户 ID 一共有五个条目,我如何检索相同的条目,请注意我我没有使用任何类型的数据库。我的 PHP 代码是这样的。


<?php

$_SESSION['user_id'] = '1';

echo $_SESSION['user_id'];

$myFile = "data.txt";

$lines = file($myFile);//file in to an array

var_dump($lines);

foreach($lines as $line)

{

    $var = explode(':', $line, 2);

    echo '</br>';

    $arr[$var[0]] = $var[1];

}


print_r($arr);


 ?>

这给了我这样的输出


Array ( [ ] => [1] => 4,2 [2] => 2,1 [3] => 5,5 )

但我想要 user1 的所有输出


蛊毒传说
浏览 165回答 2
2回答

手掌心

如果你已经有了这个: Array ( [1] => Anthony, 2 [2] => Amar, 1 [3] => Ram 5 )您可以使用以下内容来获取所需的索引:$users = [&nbsp; &nbsp; &nbsp;1 => 'Anthony, 2',&nbsp; &nbsp; &nbsp;2 => 'Amar, 1'];function getUser($users, $search) {&nbsp; &nbsp;foreach($users as $key => $user) {&nbsp; &nbsp; &nbsp; $user = explode(',', $user);&nbsp; &nbsp; &nbsp; if (intval($search) == intval($user[1]) || strtolower($search) == strtolower($user[0])) {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;return $user;&nbsp; &nbsp; &nbsp; }&nbsp; &nbsp;}}getUser($users, 1);getUser($users, 'anthony');

梵蒂冈之花

foreach用下一个替换你的块:foreach($lines as $line)&nbsp; &nbsp;{&nbsp; &nbsp; &nbsp; &nbsp;$var = explode(':', $line, 3);&nbsp; &nbsp;// third row&nbsp; &nbsp; &nbsp; &nbsp;$arr[$var[0]] = empty($arr[$var[0]]) ? '' : $arr[$var[0]];&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;$arr[$var[0]] .= (string)$var[0].':'.(string)$var[1]).' ';&nbsp; &nbsp;&nbsp; &nbsp;}&nbsp;这将为您生成如下输出:Array ( [1] => 1:1,4 1:1,5 1:3,4 1:1,1 1:4,2 [2] => 2:2,5 2:2,1 [3] => 3:5,5 )您可以在其中使用index数组的user_id。我是说:$id = 1; // or 2 or 3;&nbsp;echo $arr[$id]; // 1:1,4 1:1,5 1:3,4 1:1,1 1:4,2如果您需要从代码中擦除的唯一值(没有1:或2:或3:)(string)$var[0].':'.。因此,该行将$arr[$var[0]] .= (string)$var[0].':'.(string)$var[1]).' ';是下一个:$arr[$var[0]] .= (string)$var[1]).' ';$id = 1; // or 2 or 3;&nbsp;echo $arr[$id]; // 1,4 1,5 3,4 1,1 4,2
打开App,查看更多内容
随时随地看视频慕课网APP