来自txt文件的GET_CONTENT名称

i have this list on name.txt file :

"name1":"Robert"
"name2":"George"
"name3":"Flophin"
"name4":"Fred"

in a web page i need a php code that takes only the name of the person by the name 1 2 3 4 id.

I've use this in test.php?id=name2

$Text=file_get_contents("./name.txt"); 
if(isset($_GET["id"])){ 
    $id = $_GET["id"]; 
    $regex = "/".$id."=\'([^\']+)\'/"; 
    preg_match_all($regex,$Text,$Match); 
    $fid=$Match[1][0]; 
    echo $fid; 
} else { 
    echo ""; 
} 

The result should be George , how do i change this to work??

Mabe is another way to do this more simply?

Heres an ugly solution to your problem, which you can loop trough.

And Here's a reference to the explode function.

<?php

$text = '"name1":"Robert"
"name2":"George"
"name3":"Flophin"
"name4":"Fred"';

$x = explode("
", $text);
$x = explode(':', $x[1]);

echo $x[1];
$file=file('name.txt');

$id = $_GET["id"]; 

$result=explode(':',$file[$id-1]);

echo $result[1];

Edit: $result[1] if you want just name.

Load the text file into an array; see Text Files and Arrays in PHP as an example.

Once the array is loaded you can reference the array value directly, e.g. $fid = $myArray['name' . $id]. Please refer to PHP how to get value from array if key is in a variable as an example.