ホームページ >バックエンド開発 >PHPチュートリアル >これと同様のデータ、変数 nId がある場合、それを走査した後にその名前を知るにはどうすればよいですか。
[ {
"Id" : "t1sd",
"Name" : "xiaoxiao",
"Namea" : "テスト外観",
"nId" : "csd2"
}, {
"Id" : "ae2 ",
"Name" : "张三",
"Namea" : "はは",
"nId" : "20af"
}, {
"Id" : "c3P",
"Name" : "User 1 "、
"Namea" : "dingding"、
"nId" : "4fc"
。 。 。 。 。 。 。 。 。 。 。 。 。 。
} ]
このようなデータのセットがありますが、その具体的な長さがわからないので、「...」を使用して省略しました。
変数 nId がわかっている場合、その名前の値を取得するにはどうすればよいですか?
たとえば、4fc に等しい nId を見つけた場合。彼の名前が「User 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'];user 1