MySQL, PHP: Using references as function return values | lynda.com

이 영화에서 우리는 참고 문헌에 대해 계속 이야기 할 것입니다 우리는 보았다

참조가 무엇인지, 그리고 우리는 그것들을 인수로 전달하는 법을 보았습니다 기능 이 영화에서 나는 다음과 같이 참조를 반환 할 수있는 방법을 살펴보고 싶다 함수에서 값을 반환합니다 먼저 새 파일을 만듭니다

그냥 내 references_args 파일을 사용하려고하는데 저장 만하면됩니다 이것에 관해서는이 참조를 함수 반환 값이라고 부릅니다 지금 내가 가지고있는 모든 기능을 없애고 쓸 것이다 새로운 함수와 그것은 함수 ref_return이 될 것이고 나는 지나치지 않을 것입니다 그것에 대한 모든 논쟁에서, 대신에 저는 글로벌 가치를 가질 것입니다

나는 세계를 끌어 들일 것이다 나는 a를 사용하고 간단한 변형을 할 것이다 그것 때문에 우리는 그것이 바뀌 었음을 알 수 있으며, 마지막으로 그 가치를 되돌립니다 그럼 내가 가서 똑같은 10을 설정하고 내가 ref_return과 동등하다면, 맞습니다 그러면 참조에서 반환 된 모든 반환 값을 취해야합니다

돌아와서 그것을 b에 넣어야합니다 그래서 이것을 시험해보기 위해 우리가 그들을 볼 수 있도록 그들을 밖으로 울리고 그리고 난 그냥 진짜 간단한 에코 할거야 그 (것)들에 그리고 그들이 동등하다는 것을 보자 그래서 나는 그것을 살릴 것이고, 웹 브라우저로 돌아와서 우리는 단지 returnsphp를 할 것입니다 그래서 그것들은 둘 다 20과 같습니다

a가 10과 같으면 우리는 이것을 실행합니다 함수를 전역으로 가져 와서 값을 변경합니다 전 세계적인 우리는 a의 그 전역 값에 영향을 미치고 다음에 b를 반환하므로 b도 반환됩니다 충분히 평등하다 그러나 이제는 우리가 잘하면 무슨 일이 일어나는 지 알아 차리고, b는 30과 같습니다

같은 줄을 만들어서 테스트 해 봅시다 지금, b는 30이고 a는 20입니다 맞습니까? 우리는 어떤 종류의 참조도 사용하지 않고 있습니다 따라서 b는 별개의 변수이고 값을 변경하면 영향을 미치지 않는가? 우리는 참조를 사용하지 않기 때문에 이제 이전에 참조 과제에 대해 이야기하고 간단하게 참조 값에 &는 an = 뒤에 사용하고 우리가 사용하기 전에 사용했습니다

말하기, b 참조 a 이걸 저장하고 여기에서 보자 무슨 일이야 아무것도, 아무것도 바뀌지 않았다, 그것은 우리에게 같은 것을 주었다 다시 가치를, 오른쪽? 그것은 우리에게 가치를 돌려주기 때문입니다

지금 그것은 반환을 말한다 여기에 있지만 실제 변수 a를 반환하지는 않습니다 참조를 반환하지 않습니다 ~로, 그것은 값을 반환합니다, 우리가 인수를 통과했을 때와 같은 방식으로 우리는 첫 번째 논의가 통과 될 것이라고 말했습니다 있음 참조 지정이 없으면 우리는 10 점 이었어

이 경우 우리가 돌려주는 것은 여기서 가치가 아니라 단지 가치를 되돌려주는 가치입니다 수 20이 리턴되고 참조가 설정되면 b는 참조하는 중입니다 20, 20을 참조하는 것이 실제로 의미가 없습니다 맞습니까? 그것은 20과 같습니다 그건 같은거야

그래서 이것을 참조하기 위해, 우리는 함수 이름의 처음에 다른 &를 넣어야합니다 그래서 그건 그것이 어디로 갈 것인지, 우리가 돌아올 것임을 우리에게 알려주고, 그것은 아래로 내려 가지 않습니다, 그것은 함수 이름의 시작 부분에 올라갑니다 그것은 참조 값을 반환 말한다 어떤 반환 가치가 여기에서 나온다하더라도 참고가 되라 즉, 무엇이 돌려 보내지는지 여기를 참조로 반환하므로 실제로 a가 반환됩니다

우리가 이것을 가지고 있지 않다면, b는 여전히 단지 a의 값으로 설정되어있는 것입니까? 그래서 우리는 둘 다 필요합니다 두 가지 모두를 사용하는 것이 중요합니다 이 함수에서 참조로 보내지는 중이고 b로 설정되어 있습니다 참조 둘 사이에 악수를해야합니다

그렇지 않으면 작업 자 이제 시도해보고 다시로드 해 봅시다 우리는 이제 두 번째 줄에서 a와 b가 모두 30 인 것을 볼 수 있습니다 나는 b를 여기에 30으로 설정하고 동시에 a를 변경한다 참조 및 우리는 참조가 작동하는 방식을 알고 있으므로이를 보았습니다

그래서 다시 한 번, 만약 당신이 그것을 가지고 놀 필요가 있다면, 여기에 당신이 얻는 것을보고, & 여기로 나와서 당신이 얻는 것을 보아라 두 경우 모두 작동하지 않는다는 것을 알 수 있습니다 우리가 지나가고 있기 때문이야 참조를 작성한 다음 b를 해당 참조로 설정합니다 그것은 두 단계로 그 과정

그러니 그 점을 분명히하십시오 계속하기 전에 다른 예를 들어주고 싶습니다 나 지금 갈거야 여기를 건너 뛰고 나는 increment라고 부르는 또 다른 함수를 넣을 것이다 대신 전역 변수를 사용하는 정적 변수를 사용할 것입니다

0으로 초기화 한 다음 1 씩 증가시키고 그 값을 반환하십시오 그것이 의미하는 것은, 그것의 증가라고합니다 하지만 해당 정적 변수에 대한 참조를 리턴하십시오 그래서 만약 우리가 그 증분 값을 a이면 변수가 증가합니다 이제 그 증가에 대한 참조가 될 것입니다

그래서 우리가 그것을 두 번째라고 부르면, 바로 그 자체로, 무엇을 be의 가치가 될 것인가? a는 여전히 정적 변수를 가리 킵니다 언제 우리는 함수를 다시 호출합니다 아무런 대입을하지 않더라도, 함수는 증가합니다 그 정적 변수 그래서 아직도 그것을 가리킨다

더욱 흥미로운 증분과 같은 점을 지적하기 때문에 이런 식으로 증분 할 수 있습니다 그래서 그것은 다시 정적 변수를 증가시킵니다 따라서 하나는 작동합니다 우리는 같은 일을 한 번 더하고, 그리고 마지막으로, 우리는 이것이 우리 자신에게 있음을 증명할 수 있습니다 일 했으니 까

그래서 결국, 우리는 스스로에게 증명할 수 있습니다 이것이 작동했다면, 우리가 볼 수 있도록 그 값을 반향합시다 그것이 무엇인지 그래서 나는 이것을 저장하고 돌아가서하자 그것을 다시로드하면 a는 4와 같습니다

처음으로 증가합니다 그런 다음 다시 증분하고 다시 증분 한 다음 다시 4 번 증분합니다 그만큼 정적 변수가 점점 증가하고 있으며 우리는 그것을 할 수 있습니다 우리가이 함수 내부의 값을 참조했기 때문에 우리가 배운 이러한 참조 기술은 더욱 유용해질 것입니다 나중에 우리는 객체 지향 프로그래밍 작업을 시작할 때 데이터베이스 객체에 대해 언급 한 후에 참조에 대해 더 자세히 설명하겠습니다

다음 장에서 객체 지향 프로그래밍에 대한 논의를 시작합시다