Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/297.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从JSON、PHP读取_Php_Json - Fatal编程技术网

从JSON、PHP读取

从JSON、PHP读取,php,json,Php,Json,来自JSON的示例: {     "success": true,     "num_items": 6698,     "items": [         {             "market_name": "★ Bayonet",             "market_hash_name": "★ Bayonet",             "icon_url": "//steamcommunity-a.akamaihd.net/economy/image/-9a81dlWLwJ2

来自JSON的示例:

{
    "success": true,
    "num_items": 6698,
    "items": [
        {
            "market_name": "★ Bayonet",
            "market_hash_name": "★ Bayonet",
            "icon_url": "//steamcommunity-a.akamaihd.net/economy/image/-9a81dlWLwJ2UUGcVs_nsVtzdOEdtWwKGZZLQHTxDZ7I56KU0Zwwo4NUX4oFJZEHLbXU5A1PIYQh5hlcX0nvUOGsx8DdQBJjIAVHubSaKQZ53P3NZXMXvYmykdLSxqWkZ7-HkjMIvpIj3u2Y84733gzh_RU_MG_zIYLEdQ45fxiOrdJh0ExF",
            "name_color": "8650AC",
            "quality_color": "EB4B4B"
        },
        {
            "market_name": "★ Bayonet | Blue Steel (Battle-Scarred)",
            "market_hash_name": "★ Bayonet | Blue Steel (Battle-Scarred)",
            "icon_url": "//steamcommunity-a.akamaihd.net/economy/image/-9a81dlWLwJ2UUGcVs_nsVtzdOEdtWwKGZZLQHTxDZ7I56KU0Zwwo4NUX4oFJZEHLbXH5ApeO4YmlhxYQknCRvCo04DEVlxkKgpotLu8JAllx8zJYAJA4MmzkL-DkvbiKvXTkzNVucNzj7mX9tWk21Xkr0JvN231JYGcdA47NF3Y81Hoxebs1sftot2XnmcyW1u0",
            "name_color": "8650AC",
            "quality_color": "EB4B4B"
        },
        {
            "market_name": "★ Bayonet | Blue Steel (Factory New)",
            "market_hash_name": "★ Bayonet | Blue Steel (Factory New)",
            "icon_url": "//steamcommunity-a.akamaihd.net/economy/image/-9a81dlWLwJ2UUGcVs_nsVtzdOEdtWwKGZZLQHTxDZ7I56KU0Zwwo4NUX4oFJZEHLbXH5ApeO4YmlhxYQknCRvCo04DEVlxkKgpotLu8JAllx8zJYAJA4MmzkL-HnvD8J_WFxjIBvZIi3OqSo4j3jFbtr0NkY270cNLEJ1RsYV6DqAO8wum5gJ6_ot2Xnpnfakz6",
            "name_color": "8650AC",
            "quality_color": "EB4B4B"
        },
        {
            "market_name": "★ Bayonet | Blue Steel (Field-Tested)",
            "market_hash_name": "★ Bayonet | Blue Steel (Field-Tested)",
            "icon_url": "//steamcommunity-a.akamaihd.net/economy/image/-9a81dlWLwJ2UUGcVs_nsVtzdOEdtWwKGZZLQHTxDZ7I56KU0Zwwo4NUX4oFJZEHLbXH5ApeO4YmlhxYQknCRvCo04DEVlxkKgpotLu8JAllx8zJYAJA4MmzkL-GkvP9JrafwzlUusN33bDAoI-ijg3sqRJra2DydoaXJAU5YgzUqALrxufmjJe5tIOJlyUq4M_FZA",
            "name_color": "8650AC",
            "quality_color": "EB4B4B"
        },
        {
            "market_name": "★ Bayonet | Blue Steel (Minimal Wear)",
            "market_hash_name": "★ Bayonet | Blue Steel (Minimal Wear)",
            "icon_url": "//steamcommunity-a.akamaihd.net/economy/image/-9a81dlWLwJ2UUGcVs_nsVtzdOEdtWwKGZZLQHTxDZ7I56KU0Zwwo4NUX4oFJZEHLbXH5ApeO4YmlhxYQknCRvCo04DEVlxkKgpotLu8JAllx8zJYAJA4MmzkL-HnvD8J_WFxjIBvZIi3OqSo4j3jFbtr0NkY270cNLEJ1RsYV6DqAO8wum5gJ6_ot2Xnpnfakz6",
            "name_color": "8650AC",
            "quality_color": "EB4B4B"
        },
        {
            "market_name": "★ Bayonet | Blue Steel (Well-Worn)",
            "market_hash_name": "★ Bayonet | Blue Steel (Well-Worn)",
            "icon_url": "//steamcommunity-a.akamaihd.net/economy/image/-9a81dlWLwJ2UUGcVs_nsVtzdOEdtWwKGZZLQHTxDZ7I56KU0Zwwo4NUX4oFJZEHLbXH5ApeO4YmlhxYQknCRvCo04DEVlxkKgpotLu8JAllx8zJYAJA4MmzkL-GkvP9JrafwzlUusN33bDAoI-ijg3sqRJra2DydoaXJAU5YgzUqALrxufmjJe5tIOJlyUq4M_FZA",
            "name_color": "8650AC",
            "quality_color": "EB4B4B"
        }
    ]
}
我的PHP代码。以及我是如何找到icon_url的:

function getSkinUrl($json, $skinName)
{
    foreach($json as $key => $value)
    {
        if ($key == "items")
        {
            foreach($value as $key => $value1)
            {
                foreach($value1 as $key => $value)
                {
                    if ($key == "market_name") // && $value == $skinName
                    {
                        if ($value == $skinName)
                        {

                            foreach($value1 as $key => $value)
                            {
                                if ($key == "icon_url")
                                {
                                    $str2 = substr($value, 2);
                                    return "http://" . $str2;
                                    break;
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
它找不到正确的值。 例如:我搜索★ M9刺刀屠宰(现场测试) 它发现了刺刀屠宰(现场测试)

我怎么称呼这个函数

$jsondata = file_get_contents($path."/730.json");
ini_set('memory_limit', '-1');
$json = json_decode($jsondata, true);
getSkinUrl($json,"skin name");
谢谢

您应该看看:

你应该看看:


尝试
json\u解码
。您只需要一个
foreach
循环

$array = json_decode($jsondata, true);
foreach ($array['items'] as $item) {
    if ($item['market_name'] == ...) {
        return $item['icon_url'];
    }
}

尝试
json\u解码
。您只需要一个
foreach
循环

$array = json_decode($jsondata, true);
foreach ($array['items'] as $item) {
    if ($item['market_name'] == ...) {
        return $item['icon_url'];
    }
}

您经常使用
$value
$value1
。在第9行中,您在循环中使用了
$value
,破坏了外循环第7行中的
$value
。您使用
$value
$value1
的频率太高。在第9行中,您在循环中使用了
$value
,销毁了外部循环第7行中的
$value