Home > Backend Development > PHP Tutorial > 类似于这样子的数据,如果我有一个变量nId,如何遍历后去的知道他的name。

类似于这样子的数据,如果我有一个变量nId,如何遍历后去的知道他的name。

WBOY
Release: 2016-06-23 14:20:22
Original
844 people have browsed it

[ {
  "Id" : "t1sd",
  "Name" : "xiaoxiao",
  "Namea" : "测试样子",
  "nId" : "csd2"
}, {
  "Id" : "ae2",
  "Name" : "张三",
  "Namea" : "哈哈",
  "nId" : "20af"
}, {
  "Id" : "c3P",
  "Name" : "用户1",
  "Namea" : "dingding",
  "nId" : "4fc"
。。。。。。。。。。。。。。
} ]

我有这样子的一组数据,并且不知道他的具体长度,所以,里面用我用了“。。。。。。。。。”来省略。
如果我知道一个变量nId,如何去u偶的他的name的值。
比如,如果我找到一个nId等于4fc。如何通过代码获取到他的name是“用户1”;


回复讨论(解决方案)

数据什么格式?

如果你只有这样一个数据,那你只能遍历了。
foreach($arr as $data){
 if($data['nId']=='4fc'){
   echo $data['Name'];
   break;
 }
}
如果查找次数比较多,而且这个数据量很大,那建议先做一个索引。
$nId_array = array();
foreach($arr as $data){
  $nId_array [$data['nId']] = $data['Name'];
}

然后每次查询从这个 $nId_array 里找就可以了

$s =<<< TXT[ {  "Id" : "t1sd",  "Name" : "xiaoxiao",  "Namea" : "测试样子",  "nId" : "csd2"}, {  "Id" : "ae2",  "Name" : "张三",  "Namea" : "哈哈",  "nId" : "20af"}, {  "Id" : "c3P",  "Name" : "用户1",  "Namea" : "dingding",  "nId" : "4fc"} ]TXT;$nId = '4fc';$t = json_decode($s, true);$r = array_filter($t, function($a)use($nId) { return $a['nId'] == $nId; });echo current($r)['Name'];
Copy after login
用户1

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template