포어치 인덱스는 어떻게 찾죠?
다음 정보를 찾을 수 있습니까?foreach
인덱스?
에 있어서for
다음과 같이 루프를 실행합니다.
for ($i = 0; $i < 10; ++$i) {
echo $i . ' ';
}
$i
인덱스가 표시됩니다.
를 사용해야 합니까?for
루프를 하거나 인덱스를 취득할 수 있는 방법이 있습니까?foreach
루프?
foreach($array as $key=>$value) {
// do stuff
}
$key
각 의 인덱스입니다.$array
요소
해킹을 할 수 있습니다.foreach
예를 들어 각 런스루마다 증가되는 필드 등입니다.for
loop을 지정하면 숫자로 구분된 배열이 나타납니다.이러한 필드는 수동 관리(증분 등)가 필요한 의사 인덱스입니다.
A foreach
의 형식으로 인덱스를 제공합니다.$key
가치가 있기 때문에 그런 해킹은 필요 없습니다.
예를 들어,
$index = 0;
foreach($data as $key=>$val) {
// Use $key as an index, or...
// ... manage the index this way..
echo "Index is $index\n";
$index++;
}
어레이를 호출하여 현재 키가 켜져 있는지 확인할 수 있습니다.짐작하신 바와 같이current()
현재 값을 반환하고next()
는 배열의 포인터를 다음 요소로 이동합니다.
오웬이 좋은 답을 가지고 있어키만 필요한 경우 어레이를 사용하는 경우에도 이 방법이 유용할 수 있습니다.
foreach(array_keys($array) as $key) {
// do stuff
}
생성할 수 있습니다.$i
고리 밖에서 하다$i++
루프의 맨 아래에 있습니다.
이 두 개의 루프는 (물론 안전 난간을 제외하고) 동일합니다.
for ($i=0; $i<count($things); $i++) { ... }
foreach ($things as $i=>$thing) { ... }
예
for ($i=0; $i<count($things); $i++) {
echo "Thing ".$i." is ".$things[$i];
}
foreach ($things as $i=>$thing) {
echo "Thing ".$i." is ".$thing;
}
최선의 선택은 다음과 같습니다.
foreach ($lists as $key=>$value) {
echo $key+1;
}
그것은 쉽고 평범하다
PHP 어레이에는 내부 포인터가 있으므로 다음을 시도해 보십시오.
foreach($array as $key => $value){
$index = current($array);
}
저는 정상적으로 동작합니다(단, 매우 초기 테스트).
조나단 말이 맞아요PHP 어레이는 맵테이블을 값에 매핑하는 키 역할을 합니다.다음과 같이 어레이가 정의되어 있는 경우 인덱스를 얻을 수 있습니다.
$var = array(2,5);
for ($i = 0; $i < count($var); $i++) {
echo $var[$i]."\n";
}
출력은 다음과 같습니다.
2
5
이 경우 배열의 각 요소에는 알 수 있는 인덱스가 있지만 다음과 같은 작업을 수행하면
$var = array_push($var,10);
for ($i = 0; $i < count($var); $i++) {
echo $var[$i]."\n";
}
출력은 없습니다.이는 PHP의 배열이 대부분의 언어에서와 같은 선형 구조가 아니기 때문입니다.저장된 모든 값에 대한 키를 가질 수도 있고 가지지 않을 수도 있는 해시 테이블에 가깝습니다.따라서 배열이 정의되어 있는 경우에만 인덱스가 있기 때문에 foreach는 인덱스를 사용하여 인덱스를 크롤링하지 않습니다.인덱스가 필요한 경우 어레이를 크롤링하기 전에 어레이가 완전히 정의되어 있는지 확인하고 for 루프를 사용합니다.
사용하고 있다++$key
대신$key++
1부터 시작합니다.보통 0부터 시작합니다.
@foreach ($quiz->questions as $key => $question)
<h2> Question: {{++$key}}</h2>
<p>{{$question->question}}</p>
@endforeach
출력:
Question: 1
......
Question:2
.....
.
.
.
같은 맥락에서 Foreach 인덱스와 값을 사용해야 할 때 이 방법을 해결했습니다.
$array = array('a', 'b', 'c');
foreach ($array as $letter=>$index) {
echo $letter; //Here $letter content is the actual index
echo $array[$letter]; // echoes the array value
}//foreach
일반적으로 어소시에이션 어레이를 사용할 때는 다음과 같이 합니다.
foreach ($assoc_array as $key => $value) {
//do something
}
이것은 비관련 어레이에서도 정상적으로 동작합니다.$key는 인덱스 값이 됩니다.필요에 따라서, 다음의 조작도 가능합니다.
foreach ($array as $indx => $value) {
//do something
}
foreach(array_keys($array) as $key) {
// do stuff
}
이것을 추가하고 싶습니다.테이블의 인덱스를 작성하기 위해서 이것을 라라벨로 사용했습니다.
- $loop->index 포함
- 또한 ++$루프를 사용하여 1부터 시작합니다.
마이코드:
@foreach($resultsPerCountry->first()->studies as $result)
<tr>
<td>{{ ++$loop->index}}</td>
</tr>
@endforeach
언급URL : https://stackoverflow.com/questions/141108/how-to-find-the-foreach-index
'programing' 카테고리의 다른 글
약속.all: 해결된 값의 순서 (0) | 2022.10.29 |
---|---|
1234 == '1234 검정'이 참으로 평가되는 이유는 무엇입니까? (0) | 2022.10.29 |
C 모든 케이스 뒤에 있는 스위치 대소문자의 중괄호 (0) | 2022.10.29 |
트러블 슈팅: "복잡하지 않은 이름의 use 스테이트먼트...효과가 없다. (0) | 2022.10.29 |
ENTER 키를 눌러 웹 양식을 제출하지 않도록 하려면 어떻게 해야 합니까? (0) | 2022.10.29 |