ety
|
分享:
▲
▼
首先要说明一下, PHP 是以 Perl 为基础的, 并不用特别地去宣告新变数以及其资料型态. 除此之外跟 C 语言应该没有什么太大的不同. 第一区不是一个函式吗? 这个函式不是需要三个输入参数吗 ? ($length, $width, $height ) 这三个参数是在那个函式里宣告的, 怎能在别区用呢? 这跟 C 语言是一样的, 没有不同呀! 你在别区就算宣告了一样名字的变数, 其值也一定不会一样, 因为他们会分别放在不同的记忆体位址.
电脑在读这程式时, 在第一区会分配记忆体位址给 $length, $width, $height 来储存这三个参数的值, 目前是 NULL. 到了第二区又会在多分配三个记忆体位址给 $l, $w, $h 来储存这三个变数的值, 目前是 $l = 10, $w = 12, $h = 15. 就算你把这三个变数取名为 $length, $width, $height 这三个, 记忆体位址还是一样由电脑新给的, 不是之前的那三个. 想想看, 如果有可以像你所说的去取代变数, 那是多么可怕的事呀, 万一读错了记忆体位址, 你的作业系统可能就会出错呢!
接下来, 呼叫到了第一区的函式了, 那个函式是要三个参数当输入值的, 所以我们把$l, $w, $h传过去给它当参数. 然后那个函式收到了, 就会把 $l 的值 copy 到 $length, $w 的值 copy 到 $width, $h 的值 copy 到 $height 去, 然后用 $length, $width, $height 这个参数来处理, 这程式就是这样地执行的.
不懂的话再问, 我想这里有很多人乐意与你讨论的!
|