programing

배열에서 가장 높은 키/인덱스 검색

yoursource 2022. 10. 12. 21:36
반응형

배열에서 가장 높은 키/인덱스 검색

어떻게 하면 가장 높은 값을 얻을 수 있을까요? key/indexphp를 하여 배열에 포함시킬 수 있습니까?가치관을 위해 어떻게 하는지 알아요.

예: 이 어레이에서 가져오고 싶다10로서integer값:

$arr = array(1 => "A", 10 => "B", 5 => "C");

어떻게 코드화할 수 있는지 알고 있습니다만, 이것에도 함수가 있는지 자문하고 있었습니다.

이거면 잘 될 거야.

$arr = array( 1 => "A", 10 => "B", 5 => "C" );
max(array_keys($arr));

다음과 같은 방법으로 최대 키를 얻을 수 있습니다.

<?php
$arr = array("a"=>"test", "b"=>"ztest");
$max = max(array_keys($arr));
?>

어레이에서 다음에 사용할 수 있는 키를 얻어야 하는 상황이 있었습니다.즉,highest + 1.

예를 들어 어레이가$data = ['1' => 'something, '34' => 'something else']그리고 나서 계산해야 했다.35다른 키보다 높은 키를 가진 배열에 새 요소를 추가합니다.빈 배열의 경우 필요1다음 사용 가능한 키로 지정합니다.

다음과 같은 방법으로 효과를 볼 수 있었습니다.

$highest = 0;
foreach ($data as $idx => $dummy) {
    if ($idx > $highest) $highest = $idx;
}
$highest++;

빈 어레이에 관계없이 모든 경우에 동작합니다.가장 높은 키만 찾으면 되는 경우highest key + 1마지막 행을 삭제합니다.

그러면 다음과 같은 값을 얻을 수 있습니다.0어레이가 비어 있는 경우.

$keys = array_keys($arr);
$keys = rsort($keys);

print $keys[0];

"10"으로 인쇄해야 합니다.

function getMaxKey(array $array): ?int
{
    if ($array === []) {
        return null;
    }

    return max(0, ...array_keys($array));
}

네거티브 키를 가지고 있지 않다고 가정하면int -1

max() 함수를 사용하여 해당 페이지의 첫 번째 주석을 참조하십시오.

$higestKey = 0;
foreach ($data as $key => $value) {
    if (strlen($key) > $higestKey) $higestKey = strlen($key);
}

언급URL : https://stackoverflow.com/questions/6126066/search-for-highest-key-index-in-an-array

반응형