'how to use this function companiesContestRounds($companyNames,$successRate) as a loop but $successRate it divide /2 for each round

<?php

$companyNames =["Apple","Microsoft","Samsung Electronics","Alphabet","AT&T","Amazon","Verizon Communications","China Mobile","Walt Disney","Facebook",
                "Alibaba","Intel","Softbank","IBM","Tencent Holdings","Nippon Telegraph & `enter code here`Tel","Cisco Systems","Oracle","Deutsche Telekom","Taiwan Semiconductor"];
                

$successRate = 50;
// working
function generateCompanyRates($companyNames){
    $companyRates = [];
    foreach ($companyNames as $name){
        $companyRates[$name] = rand(0,100);
    }
    return $companyRates;
}

function companiesContestRounds($companyNames,$successRate){
    $companiesRate = generateCompanyRates($companyNames);
    $successCompanies = [];
    foreach ($companiesRate as $companyName => $Rate){
        if($Rate <= $successRate){
            $successCompanies[] = $companyName;
        }
        
    }
    return $successCompanies;
    
}
function successfulCompanies($companyNames, $successRate){

  

}

use loop inside function successfulCompanies($companyNames, $successRate) and $successRate/2 for each round until we have one company left that is the winner

really i'm stuck

php


Solution 1:[1]

<?php
        //Enter your code here, enjoy!

$companyNames =["Apple","Microsoft","Samsung Electronics","Alphabet","AT&T","Amazon","Verizon Communications","China Mobile","Walt Disney","Facebook",
                "Alibaba","Intel","Softbank","IBM","Tencent Holdings","Nippon Telegraph & Tel","Cisco Systems","Oracle","Deutsche Telekom","Taiwan Semiconductor"];
$successRate = 50;

function successfulCompanies($companyNames,$successRate){
    $associativeArray = [];
    $finalArray = [];
    foreach($companyNames as $names){
        $associativeArray[$names] = rand(0,100);
    }
    foreach($associativeArray as $company => $rate){
        if($rate <= $successRate){
            $finalArray[] = $company;
        }
        if($rate > $successRate){
            
        }
    }
    print_r($finalArray);
}

Then it loops over the companyName ? For each iteration of the loop it does the following ? Generate a random number from 0 to 100 ? Store each random value along with its company name in an associative array

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 tarik