Здраствуйте, помогите пожалуйста возникла проблема, не могу справиться со сравнением массивов. Первый массив Код (Text): array:1 [▼ 0 => array:9 [▼ "puchased" => "10" "installed" => "182" "name_of_software" => "Microsoft Office" "software_developer" => "Microsoft" "license_type_id" => null "need_to_buy" => "-172" "display_name" => "Microsoft Office стандартный 2010" "product_id" => "Office14.STANDARD" "publisher" => "Microsoft Corporation" ] ] Второй массив Код (Text): array:241 [▼ 0 => array:4 [▼ "display_name" => "" "product_id" => "{90140000-0012-0000-0000-0000000FF1CE}_Office14.STANDARD_{0420928F-67BC-403A-A767-6D32D8692B13}" "publisher" => "Microsoft" "number_of_licenses_installed" => "2" ] Условие такое: Если "display_name", "product_id" и "publisher" равны то у первого массива из "installed" вычесть "number_of_licenses_installed" второго массива. Я все время натыкаюсь на ошибку "Array to string conversion".
Не знаю, у меня все вычитается: PHP: $obj1 = ["puchased" =>"10", "installed" =>"182","name_of_software" => "Microsoft Office", "software_developer" => "Microsoft", "license_type_id" => null, "need_to_buy" => "-172", "display_name" => "Microsoft Office стандартный 2010", "product_id" => "Office14.STANDARD", "publisher" => "Microsoft Corporation"]; $obj2 = ["display_name" => "", "product_id" => "{90140000-0012-0000-0000-0000000FF1CE}_Office14.STANDARD_{0420928F-67BC-403A-A767-6D32D8692B13}", "publisher" => "Microsoft", "number_of_licenses_installed" => "2"]; var_dump($obj1); echo '<br>'; var_dump($obj2); $math = $obj1['installed'] - $obj2['number_of_licenses_installed']; echo '<br>'; echo $math; Условие if покажи свое. Я так понимаю тебе нужно, что было совпадение слова Microsoft, а не всей строки
У тебя просто массив ключ значение. Это не совсем то. В общем интересно посмотреть на Ваши решения я сделал это следующим образом PHP: /** Вычитаем исключенное программное обеспечение из подсчетов**/ foreach ($sub3 as &$keyArSub){ foreach ($excludedSoftware as $keyArEx ){ if ($keyArSub->display_name == $keyArEx->display_name && $keyArSub->product_id == $keyArEx->product_id && $keyArSub->publisher == $keyArEx->publisher) { $keyArSub->installed = $keyArSub->installed - $keyArEx->number_of_licenses_installed; $keyArSub->need_to_buy = $keyArSub->need_to_buy + $keyArEx->number_of_licenses_installed; } } }