programing

PHP: 배열에서 키를 가져오시겠습니까?

css3 2023. 10. 2. 15:22

PHP: 배열에서 키를 가져오시겠습니까?

저는 이것이 PHP에서 아주 쉽고 내장된 기능이라고 확신하지만, 아직 보지 못했습니다.

제가 지금 하고 있는 일은 이렇습니다.

foreach($array as $key => $value) {
    echo $key; // Would output "subkey" in the example array
    print_r($value);
}

대신 다음과 같은 작업을 수행하여 각 루프마다 "$key = > $value"를 쓰지 않아도 됩니까?(pseudo code)

foreach($array as $subarray) {
    echo arrayKey($subarray); // Will output the same as "echo $key" in the former example ("subkey"
    print_r($value);
}

감사합니다!

배열:

Array
(
    [subKey] => Array
        (
            [value] => myvalue
        )

)

키()를 사용할 수 있습니다.

<?php
$array = array(
    "one" => 1,
    "two" => 2,
    "three" => 3,
    "four" => 4
);

while($element = current($array)) {
    echo key($array)."\n";
    next($array);
}
?>

함수를 사용합니다.

php.net 의 예

$array = array(0 => 'blue', 1 => 'red', 2 => 'green', 3 => 'red');

$key = array_search('green', $array); // $key = 2;
$key = array_search('red', $array);   // $key = 1;
$foo = array('a' => 'apple', 'b' => 'ball', 'c' => 'coke');

foreach($foo as $key => $item) {
  echo $item.' is begin with ('.$key.')';
}

$array = array(0 => 100, "color" => "red");
print_r(array_keys($array));

A라면foreach질문에서 설명한 대로 루프, 사용$key => $value빠르고 효율적입니다.

만약 당신이 A에 있고 싶다면.foreach루프, 그럼foreach($array as $key => $value)확실히 권장되는 접근법입니다.언어가 제공할 때 간단한 구문을 활용합니다.

각 루프에서 키($array)를 사용하는 또 다른 방법은 루프 끝에 next($array)를 사용하는 것입니다. (루프 내부에 복잡한 분기가 있는 경우) 각 반복이 next() 함수를 호출하는지 확인합니다.

이거 먹어봐요.

foreach(array_keys($array) as $nmkey)
    {
        echo $nmkey;
    }

어레이 라이브러리에 추가할 수 있는 일반 솔루션은 다음과 같습니다.관련 값과 타겟 배열만 입력하면 됩니다!

PHP 매뉴얼: array_search() (다른 언어의 .indexOf()와 유사)

public function getKey(string $value, array $target)
{
    $key = array_search($value, $target);

    if ($key === null) {
        throw new InvalidArgumentException("Invalid arguments provided. Check inputs. Must be a (1) a string and (2) an array.");
    }

    if ($key === false) {
        throw new DomainException("The search value does not exists in the target array.");
    }

    return $key;
}

언급URL : https://stackoverflow.com/questions/3317856/php-get-key-from-array