ホームページ >バックエンド開発 >PHPチュートリアル >これと同様のデータ、変数 nId がある場合、それを走査した後にその名前を知るにはどうすればよいですか。

これと同様のデータ、変数 nId がある場合、それを走査した後にその名前を知るにはどうすればよいですか。

WBOY
WBOYオリジナル
2016-06-23 14:20:22829ブラウズ

[ {
"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

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。