Ⅰ php函数调用问题
程序是从上到下执行的,执行到a();的时候还没有执行function a(){};这个,就是说还没有定义a();这个方法,必须先执行function a(){};之后 再调用a(); 才生效。
Ⅱ php的构造函数可以调用它本身吗
可以,这叫递归.但如果放错位置,或者条件控制得不好,就会造成死循环. 或者把你的函数写出来,看看是什么问题
Ⅲ php类怎么调用自己的函数
对,
public 的 是这样调用.
static 的是 self::function().
====
over
Ⅳ php构造方法能不能进行自身调用(__construct()),帮忙解决一下,谢谢
__construct()可以自己另行调用的!
$obj = new Class(1);
$obj->__construct(1);
允许这样用
额,题目没看清楚
不过构造函数内调用它本身也是可以的!
比如
<?php
class Test{
var $value;
function __construct($num){
while($this->value<100){
$this->value += $num;
$this->__construct($num);
}
}
}
$obj = new Test(8);
echo $obj->value;
?>
Ⅳ PHP中,怎么在成员函数当中调用自己的成员属性除了静态调用之外还有别的方法吗
和静态数据成员一样,静态成员函数是类的一部分,而不是对象的一部分。如果要在类外调用公用的静态成员函数,要用类名和域运算符“∷”。
如 Box∷volume( ); 实际上也允许通过对象名调用静态成员函数,如 a.volume( ); 但这并不意味着此函数是属于对象a的,而只是用a的类型而已。 静态成员函数的作用是为了能处理静态数据成员。 可以说,静态成员函数与非静态成员函数的根本区别是:非静态成员函数有this指针,静态成员函数并不属于某一对象,它与任何对象都无关,静态成员函数没有this指针。
由此决定了静态成员函数不能访问本类中的非静态成员。 在C++程序中,静态成员函数主要用来访问静态数据成员,而不访问非静态成员。假如在一个静态成员函数中有以下语句: cout<<height<<endl; //若height已声明为static,则引用本类中的静态成员,合法 cout<<width<<endl; //若width是非静态数据成员,不合法。但是,并不是绝对不能引用本类中的非静态成员,只是不能进行默认访问,因为无法知道应该去找哪个对象。如果一定要引用本类的非静态成员,应该加对象名和成员运算符“.”。如 cout<<a.width<<endl; //引用本类对象a中的非静态成员
Ⅵ php调用自定义函数
PHP代码call_user_func函数类似于一种特别的调用函数的方法,使用方法如下:
function
a($b,$c)
{
echo
$b;
echo
$c;
}
call_user_func('a',
"111","222");
call_user_func('a',
"333","444");
//显示
111
222
333
444
?>
调用类内部的方法比较奇怪,居然用的是array,不知道开发者是如何考虑的,当然省去了new,也是满有新意的:
class
a
{
function
b($c)
{
echo
$c;
}
}
call_user_func(array("a",
"b"),"111");
//显示
111
?>
call_user_func_array函数和call_user_func很相似,只不过是换了一种方式传递了参数,让参数的结构更清晰:
function
a($b,
$c)
{
echo
$b;
echo
$c;
}
call_user_func_array('a',
array("111",
"222"));
//显示
111
222
?>
call_user_func_array函数也可以调用类内部的方法的
Class
ClassA
{
function
bc($b,
$c)
{
$bc
=
$b
+
$c;
echo
$bc;
}
}
call_user_func_array(array('ClassA','bc'),
array("111",
"222"));
//显示
333
?>
call_user_func函数和call_user_func_array函数都支持引用,这让他们和普通的函数调用更趋于功能一致:
function
a($b)
{
$b++;
}
$c
=
0;
call_user_func('a',
$c);
echo
$c;//显示
1
call_user_func_array('a',
array($c));
echo
$c;//显示
2
另:call_user_func函数和call_user_func_array函数都支持引用。
?phpfunction
increment(&$var){
$var++;}$a
=
0;call_user_func('increment',
$a);echo
$a;
//
0call_user_func_array('increment',
array(&$a));
//
You
can
use
this
insteadecho
$a;
//
1?
Ⅶ php如何调用函数
PHP函数调用与Java/C/C++是一样的额,通过函数名(参数列表)就可以了,
举个栗子:
图中,有两处函数调用,一开始的session_start()是调用的PHP函数,validate_user($username, $password)是用户自定义函数,同样的方式调用。
Ⅷ php 函数自调用问题
你代3进去一步步算下
sum(3)
->
3>1
return 3+=sum(2);
那你就算sum(2)
sum(2)
->
2>1
return 2+=sum(1)
sum(1)
->
return 1;
sum(1)值是1,所以sum(2) = 3 ,sum(3)=6;
逻辑还是要自己体会的。流程就是这样。
Ⅸ PHP 方法能不能像递归函数一样在方法内部调用自己
可以啊,设置好跳出条件,实例化类,直接调用递归的方法,完全可以做个简单的例子
Ⅹ php递归函数和回调函数的区别,难道递归是函数内调用自身,回调是函数内调用别人求解
递归其实就是“一个函数的自调用”
在这个“自调用”的过程中,必须要有一个变化的“参数”,当这个“参数”达到你的期望值的时候,终止该“自调用”过程
拿楼主的程序来说
demo($n)内部又有调用demo($n-1),构成了“自调用”
且,$n又有一个“期望值”,即是$n>1,不满足此条件时,该自调用终止
即是说,最后一个执行的demo是demo($n9-1),其中$n9=2,然后返回为1(因为执行了return 1)
则$n9*demo($n9-1)即等于 2*demo(2-1),又等于2*1=2;
则$n8*demo($n8-1)即等于 3*demo(3-1),又等于3*2=6;
则$n7*demo($n7-1)即等于 4*demo(4-1),又等于4*6=24;
……
依次类推
这样想:
demo(1)是等于1,这个没有疑问吧?
然后demo(2)等于2*demo(1)=2*1=2
然后demo(3)等于3*demo(2)=3*2=6
……
一直到demo(10)