日期:2014-05-17  浏览次数:20501 次

类似于这样子的数据,如果我有一个变量nId,如何遍历后去的知道他的name。
[ {
  "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”;

------解决方案--------------------
$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'];
用户1