source

연관지을 수 있는 어레이를 루프하여 키를 얻는 방법

factcode 2023. 1. 29. 20:17
반응형

연관지을 수 있는 어레이를 루프하여 키를 얻는 방법

내 연관 배열:

$arr = array(
   1 => "Value1",
   2 => "Value2",
   10 => "Value10"
);

다음 코드를 사용하여$v로 가득 차 있다.$arr의 가치관

 foreach($arr as $v){
    echo($v);    // Value1, Value2, Value10
 }

입수 방법$arr의 키 대신?

 foreach(.....){
    echo($k);    // 1, 2, 10
 }

다음 작업을 수행할 수 있습니다.

foreach ($arr as $key => $value) {
 echo $key;
}

PHP 문서에서 설명한 바와 같습니다.

사용하시는 경우array_keys(), PHP는 키만으로 채워진 어레이를 제공합니다.

$keys = array_keys($arr);
foreach($keys as $key) {
    echo($key);
}

또는 다음과 같이 할 수 있습니다.

foreach($arr as $key => $value) {
    echo($key);
}

아무도 규칙적으로 대답하지 않았다.for루프요? 가끔은 더 읽기 쉽고 더 선호해요.for에 걸쳐서foreach
여기 있습니다.

$array = array('key1' => 'value1', 'key2' => 'value2'); 

$keys = array_keys($array);

for($i=0; $i < count($keys); ++$i) {
    echo $keys[$i] . ' ' . $array[$keys[$i]] . "\n";
}

/*
  prints:
  key1 value1
  key2 value2
*/
foreach($array as $k => $v)

여기서 $k는 키이고 $v는 값입니다.

또는 키가 필요한 경우 array_keys()를 사용합니다.

다음 루프를 사용하여 연관 배열에서 키와 값을 가져옵니다.

foreach ($array as $key => $value)
{
  echo "<p>$key = $value</p>";
}

다음은 키와 값을 동시에 얻을 수 있도록 합니다.

foreach ($arr as $key => $value)
{
  echo($key);
}

분명하지 않지만 이 방법이 약 3.5배 더 빠릅니다(적어도 테스트에 사용한 박스에서는).

$foo = array(
    1 => "Value1",
    2 => "Value2",
    10 => "Value10"
);
while($bar = each($foo)){
    echo $bar[0] . " => " . $bar[1];
}

이는 Forach가 어레이 전체를 복사한 후 반복하기 때문이라고 생각할 수 있습니다.

사용하다$key => $val키를 얻으려면:

<?php

$arr = array(
    1 => "Value1",
    2 => "Value2",
    10 => "Value10",
);

foreach ($arr as $key => $val) {
   print "$key\n";
}

?>
<?php
$names = array("firstname"=>"maurice",
               "lastname"=>"muteti", 
               "contact"=>"7844433339");

foreach ($names as $name => $value) {
    echo $name." ".$value."</br>";
}

print_r($names);
?>

아, PHP 매뉴얼에서 찾았어요.

foreach ($array as $key => $value){
    statement
}

현재 요소의 키는 각 루프의 변수 $key에 할당됩니다.

 foreach($arr as $key=>$value){
    echo($key);    // key
 }

nested를 사용하는 경우foreach()내부 배열 값이 끝날 때까지 외부 배열의 키가 계속 인쇄됩니다.

<?php 

$myArray = ['key_1' => ['value_1', 'value12'],
            'key_2' => ['value_2', 'value22'], 
            'key_3' => ['value_3', 'value32']
           ];

$keysOfMyArray = array_key($myArray);

for ($x = 0; $x < count($myArray); $x++){
       print "\t".$keysOfMyArray[$x]."\t\t".implode("\t\t",$myArray[$keysOfMyArray[$x]]."\n");
}

?>

언급URL : https://stackoverflow.com/questions/1951690/how-to-loop-through-an-associative-array-and-get-the-key

반응형