我在name.txt文件中有这个列表:
"name1":"Robert"
"name2":"George"
"name3":"Flophin"
"name4":"Fred"
在网页中我需要一个php代码,该代码只使用名称为1 2 3 4 id的人名。
我在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 "";
}
结果应为George
,
我该如何改变它?
Mabe是另一种更简单的方法吗?
答案 0 :(得分:1)
$file=file('name.txt');
$id = $_GET["id"];
$result=explode(':',$file[$id-1]);
echo $result[1];
编辑:$ result [1]如果你只想要名字。
答案 1 :(得分:0)
这是你的问题的一个丑陋的解决方案,你可以循环。和Here's对爆炸功能的引用。
<?php
$text = '"name1":"Robert"
"name2":"George"
"name3":"Flophin"
"name4":"Fred"';
$x = explode("\n", $text);
$x = explode(':', $x[1]);
echo $x[1];
答案 2 :(得分:0)
将文本文件加载到数组中;以Text Files and Arrays in PHP为例。
加载数组后,您可以直接引用数组值,例如$ fid = $ myArray ['name'。 $ ID]。请参考PHP how to get value from array if key is in a variable作为示例。