こんにちは、私の問題はこれです、私はjson形式のファイルを持っていて、このjsonファイルからPHPのjson_decode()
をデコードしました。すべての定義要素を、関数の最後に返す変数に格納します。私は試しました関数内のforeachループ内の配列から値を返すにはどうすればいいですか?
function dictSearch(){
$file = file_get_contents('wiki.json');
$input = json_decode($file);
$ans = '';
$error = 'No definition for that word';
foreach ($input->results as $result){
foreach ($result as $value=>$key){
if ($value === 'definition'){
$answer[] = $key.'\n';
}
}
}
return print $answer;
}
しかし、それは仕事をしません。 jsonファイルを見てください。私は何をしたいか
{
"word": "rat",
"results": [
{
"definition": "someone who works (or provides workers) during a strike",
"partOfSpeech": "noun",
"synonyms": [
"blackleg",
"scab",
"strikebreaker"
],
"typeOf": [
"worker"
]
},
{
"definition": "a person who is deemed to be despicable or contemptible",
"partOfSpeech": "noun",
"synonyms": [
"bum",
"crumb",
"dirty dog",
"git",
"lowlife",
"puke",
"rotter",
"scum bag",
"skunk",
"so-and-so",
"stinker",
"stinkpot"
],
"typeOf": [
"unpleasant person",
"disagreeable person"
],
"examples": [
"kill the rat"
]
},
{
"definition": "take the place of work of someone on strike",
"partOfSpeech": "verb",
"synonyms": [
"blackleg",
"fink",
"scab"
],
"typeOf": [
"do work",
"work"
],
"derivation": [
"ratter"
]
},
{
"definition": "give away information about somebody",
"partOfSpeech": "verb",
"synonyms": [
"betray",
"denounce",
"give away",
"grass",
"shit",
"shop",
"snitch",
"stag",
"tell on"
],
"typeOf": [
"inform"
],
"hasTypes": [
"sell someone out"
],
"derivation": [
"ratting",
"ratter"
]
},
{
"definition": "one who reveals confidential information in return for money",
"partOfSpeech": "noun",
"synonyms": [
"betrayer",
"blabber",
"informer",
"squealer"
],
"typeOf": [
"source",
"informant"
],
"hasTypes": [
"nark",
"grass",
"fink",
"copper's nark",
"canary",
"sneak",
"sneaker",
"snitch",
"snitcher",
"stool pigeon",
"stoolie",
"stoolpigeon",
"supergrass"
]
},
{
"definition": "any of various long-tailed rodents similar to but larger than a mouse",
"partOfSpeech": "noun",
"typeOf": [
"rodent",
"gnawer"
],
"hasTypes": [
"oryzomys palustris",
"mole rat",
"norway rat",
"brown rat",
"rice rat",
"rattus rattus",
"rattus norvegicus",
"roof rat",
"bandicoot rat",
"black rat",
"pocket rat",
"jerboa rat"
],
"derivation": [
"ratty"
]
},
{
"definition": "a pad (usually made of hair) worn as part of a woman's coiffure",
"partOfSpeech": "noun",
"typeOf": [
"pad"
],
"partOf": [
"hairdo",
"coif",
"coiffure",
"hair style",
"hairstyle"
]
},
{
"definition": "catch rats, especially with dogs",
"partOfSpeech": "verb",
"typeOf": [
"capture",
"catch"
],
"derivation": [
"ratter"
]
},
{
"definition": "desert one's party or group of friends, for example, for one's personal advantage",
"partOfSpeech": "verb",
"typeOf": [
"desert",
"defect"
],
"derivation": [
"ratter"
]
},
{
"definition": "employ scabs or strike breakers in",
"partOfSpeech": "verb",
"inCategory": [
"manufacture",
"industry"
],
"typeOf": [
"hire",
"engage",
"employ"
],
"derivation": [
"ratter"
]
},
{
"definition": "give (hair) the appearance of being fuller by using a rat",
"partOfSpeech": "verb",
"typeOf": [
"fill out",
"pad"
]
}
],
"syllables": {
"count": 1,
"list": [
"rat"
]
},
"pronunciation": {
"all": "ræt"
},
"frequency": 4.49
}
はJSONファイルを反復処理し、
なぜ '印刷の$ answer'を返します - なぜ 'プリント'? Btw:内側のforeach()の代わりに、より良いメソッドを見つけるべきです。 – clemens321
** [完全な質問方法](https://codeblog.jonskeet.uk/2010/08/29/writing-the-perfect-question/)**や**についてのヒントをまずお読みください。 [最小、完全、および検証可能なサンプルを作成する方法](https://stackoverflow.com/help/mcve)**あなたの質問に応じて編集して、より多くの人をあなたの投稿に引き付けます。 –
あなたのjsonは悪いです、それは一重引用符を含んでいます – miknik