일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- Session
- Ajax
- 경영
- jquery
- php
- Apache
- JSON
- 전략
- 무료다운로드쿠폰
- Forms
- Laravel
- OOP
- string
- HTML
- post
- Linux
- Regex
- date
- 웹하드순위
- UTF-8
- variables
- MySQL
- function
- Arrays
- file-upload
- JavaScript
- 웹하드추천
- curl
- composer-php
- Today
- Total
개발! 딱 깔끔하고 센스있게!
반복 기 를 실현 하 는 PHP 류 를 배열 로 합 니 다. 본문
만약 에 제 가 인 터 페 이 스 를 실현 하 는 유형 이 있다 면 저 는 foreach 순환 중의 교체 방식 을 수 동 으로 조절 할 수 있 습 니 다.
하지만 내 상 대 를 여러 팀 처럼 일 하 게 만 드 는 다른 방법 은 없 을 까?
예 를 들 어 내 가 디텍터 를 실현 하 는 게 스 트 북 이 있다 고 가정 하면 나 는 foreach (new Guestbook) 을 $entry 로 대체 할 수 있다.
그런데 만약 에 내 가 생각 을 한다 면, 예 를 들 면, 순 서 를 뒤 바 꾸 면?
forreach (areray reverse (new Guestbook () 는 $entry 로 서 는 안 될 것 입 니 다.
areray reverse 는 한 팀 만 받 기 때 문 입 니 다.
내 가 묻 고 싶 은 것 은, 내 가 교체 기 를 사용 할 수 있 는 지 없 는 지 는 단지 forreach 순환 만 이 아니 라 는 것 이다.
감사합니다.
대답
교체 기 인 터 페 이 스 는 개체 가 여러 그룹 처럼 일 할 수 있 도록 forreach 순환 을 허용 하 는 것 이 목적 이다.
여러 조 와 같은 것 을 원한 다 면, 여러 조 를 사용 하 라.
iterator to array 함 수 를 사용 하여 처음부터 끝까지 대상 을 배열 로 바 꿀 수 있 지만 이 과정 을 뒤 집 을 수 는 없습니다.
itervile 대상 의 원 소 를 뒤 바 꿔 야 하 는 순 서 를 보 려 면 reverse () 방법 을 만 들 수 있 습 니 다.
이 방법 은 내부 적 으로 ary reverse () 를 사용 할 수 있 습 니 다.
이런 것:
class Test implements Iterator { private $testing = [0,1,2,3,4,5,6,7,8,9,10]; private $index = 0; public function current() { return $this->testing[$this->index]; } public function next() { $this->index ++; } public function key() { return $this->index; } public function valid() { return isset($this->testing[$this->key()]); } public function rewind() { $this->index = 0; } public function reverse() { $this->testing = array_reverse($this->testing); $this->rewind(); } } $tests = new Test(); var_dump(iterator_to_array($tests)); $tests->reverse(); var_dump(iterator_to_array($tests));
출력: -
array (size=11) 0 => int 0 1 => int 1 2 => int 2 3 => int 3 4 => int 4 5 => int 5 6 => int 6 7 => int 7 8 => int 8 9 => int 9 10 => int 10 array (size=11) 0 => int 10 1 => int 9 2 => int 8 3 => int 7 4 => int 6 5 => int 5 6 => int 4 7 => int 3 8 => int 2 9 => int 1 10 => int 0
나 는 이 코드 를 발표 하기 전에 그것 이 효과 가 있다 는 것 을 증명 하기 위해 서 썼 다.
나 는 그것 을 답 에 넣 는 것 이 좋 겠 다 고 생각한다.
'개발 스크랩 메모 > PHP' 카테고리의 다른 글
선택적 매개 변수가있는 PHP 함수 (0) | 2020.11.22 |
---|---|
PHP를 사용하여 폴더에서 이미지를 표시하는 방법-PHP (0) | 2020.11.22 |
PHP 변수를 Bash 스크립트에 전달한 다음 시작하십시오. (0) | 2020.11.22 |
PHP 예제를 사용한 일반적인 다형성 (0) | 2020.11.21 |
PHP 애플리케이션에서 멀티 스레딩을 사용하는 방법 (0) | 2020.11.21 |