strpos() ожидает, что параметр 1 будет строкой, массив задан Laravel

Правильно, я пытаюсь получить цены на предметы в моем инвентаре, используя два разных файла json. Но когда дело доходит до монет CS:GO, у них нет цены, так что...

Вот мой код:

$json = json_decode(file_get_contents('http://steamcommunity.com/profiles/76561198050605019/inventory/json/730/2'));
$prices  = json_decode(file_get_contents('prices.json'));

$items = [];


foreach($prices->results as $result){
    $items[$result->market_name] = $result;
}

foreach($json->rgDescriptions as $item){
    if (str_contains([' Coin ', ' coin '], $item->market_name)) continue;
    var_dump($item->market_name . ' - $' . $items[$item->market_name]->current_price);
}

И вот ошибка, которую я получаю

public static function contains($haystack, $needles)
{
    foreach ((array) $needles as $needle) {
        if ($needle != '' && strpos($haystack, $needle) !== false) {
            return true;
        }
    }

Я бы предпочел, чтобы он просто игнорировал монеты вообще


person Skel    schedule 22.11.2015    source источник


Ответы (1)


Вы неправильно указали параметры!

if (str_contains($item->market_name, [' Coin ', ' coin '])) continue;
person Jordan Doyle    schedule 22.11.2015