그래서 array_reverse()
은 배열을 가져와 역순으로 요소를 가진 사본을 반환한다고 가정합니다. 그리고 그것은 항상 저까지 충실히 작동했습니다. 나는 배열 배열을 가지고 있으며, 역순으로 배열을 가져와야하므로 array_reverse가 내가 필요한 것을 정확하게 처리 할 것이라고 가정했는데 이상하게 행동하는 것으로 보이고 그 이유를 알 수 없다.배열의 배열에서 PHP의 array_reverse()를 사용하여 이상한 동작이 발생합니다. 왜?
내 초기 배열 (예, 나는 약간의 HTML 구문 분석을하고 있어요는) :
거기에array_reverse($arr)
를 실행
Array(
0 => Array(
0 => '<blockquote',
1 => int 232
),
1 => Array(
0 => '<blockquote',
1 => int 593
),
2 => Array(
0 => '<blockquote',
1 => int 938
),
3 => Array(
0 => '</blockquote',
1 => int 2627
),
4 => Array(
0 => '</blockquote',
1 => int 2758
),
5 => Array(
0 => '</blockquote',
1 => int 2794
),
)
, 하나는 반환 된 배열이 될 것으로 기대 것이다 : 그러나
Array (
0 => Array(
0 => '</blockquote',
1 => int 2794
),
1 => Array(
0 => '</blockquote',
1 => int 2758
),
2 => Array(
0 => '</blockquote',
1 => int 2627
),
3 => Array(
0 => '<blockquote',
1 => int 938
),
4 => Array(
0 => '<blockquote',
1 => int 593
),
5 => Array(
0 => '<blockquote',
1 => int 232
),
)
, 그것을 변경되지 않은 배열을 반환합니다. 자, 내가 array_reverse($arr[0])
을하면, 내가 원하는 것처럼 전체 배열을 뒤집습니다.
초기 배열을 뒤집을 이유가 없다고 생각할 수 있습니다. 왜 특정 키를 전달할 때 하나의 하위 배열이 아닌 전체 배열을 뒤집을 수 있습니다. 왜 이렇게 할거야?
EDIT : 나는 뒤로 물러서서 그것을 보았고 주 배열이 내가 위에 올린 배열이었던 단일 요소를 가지고 있다는 것을 깨달았다. 그냥 좋은 'ID - 10 - T 오류.
동작을 보여주는 예제 테스트 케이스 (예 : 코드 패드)를 만들 수 있습니까? – cmbuckley
나를 위해 작동합니다 : http://codepad.org/68nDM11F –
"예, 나는 약간의 HTML 구문 분석을하고 있습니다." – PeeHaa