PHP数组:循环键和值

PHP数组:循环键和值,php,arrays,Php,Arrays,我想检查三角形的最长边: 长度和边保存在一个数组中($allSides) 现在我想展示最伟大的一面!我想查查 带有“foreach action”的最长值: 但是当我检查时,如果边的$value(lenght)=到最长的边,则 停止。如果有两条边具有相同的长度,我想显示两条 我也想在数组中保存长度相同的两边。您需要移动返回$allsideskys在if和for块之外。否则,它将在第一次匹配时返回 这是您的函数的外观: 函数getSideKey($longestSide,$allSides){

我想检查三角形的最长边:

长度和边保存在一个数组中($allSides)

现在我想展示最伟大的一面!我想查查 带有“foreach action”的最长值:


但是当我检查时,如果边的$value(lenght)=到最长的边,则 停止。如果有两条边具有相同的长度,我想显示两条


我也想在数组中保存长度相同的两边。

您需要移动
返回$allsideskys
if
for
块之外。否则,它将在第一次匹配时返回

这是您的函数的外观: 函数getSideKey($longestSide,$allSides){


更简单。只需按您所拥有的方式获取
max
,然后使用
array\u键
获取具有该值的键:

function triangle($a, $b, $c) {

    $allSides = get_defined_vars();
    
    $longestSide  = max($allSides);
    echo $longestSide . PHP_EOL;
    
    $allSidesKeys = array_keys($allSides, $longestSide);
    echo implode(',', $allSidesKeys) . PHP_EOL;
    
    return $allSidesKeys;
}

$result = triangle(1, 5, 5);
$allSidesKeys = array();

foreach($allSides as $key => $value) {

  echo $key.$value;

  if($value == $longestSide) {

    array_push($allSidesKeys, $key);

    print_r($allSidesKeys);

    }

  }   
  return $allSidesKeys;
}
function triangle($a, $b, $c) {

    $allSides = get_defined_vars();
    
    $longestSide  = max($allSides);
    echo $longestSide . PHP_EOL;
    
    $allSidesKeys = array_keys($allSides, $longestSide);
    echo implode(',', $allSidesKeys) . PHP_EOL;
    
    return $allSidesKeys;
}

$result = triangle(1, 5, 5);