① php构造函数传递值的问题
__construct($hostname)里面的参数是构造函数的参数,只能在构造函数内部调用,
public $hostname;这是类的参数,整个类内部包括继承类都可以调用
第二种的参数只能在构造函数中使用,而第一种,则将传来的参数赋值给类的变量,所以第一种的hostname整个类内部的方法都可以使用$this->hostname来调用
② php怎么传递二维数组做函数参数
function arr($arr){
foreach($arr as $value){
$ar[].="我是数组--".$value."<br>";
}
return $ar;
}
$arr_a=array(a,b,c,d);
$arr_b=arr($arr_a);//经过arr()处理后
print_r($arr_b);
③ php函数多个参数实现传参任意顺序
这个不行,因为本身就会有逻辑错误。比如:他怎么知道。test(100)是$i,而不是$obj呢。也可能是第五个参数呢。要么test方法判断,要么占位。这个没啥好办法
④ PHP中形参和实参的参数传递
functionadd($a,$b){
echo$a+$b;
}
abc($c,$d);
其中 $a $b 是形参
$c $d 是实参
在php中 形参的个数和实参个数可以不一致。(实参可以比形参多,但是如果形参未默认值。布恩比实参少)
http://www.hu.com/question/23040402/answer/23438059
⑤ PHP的几种函数参数类型及一些特殊函数
给你整理如下:
默认参数:在函数声明时给参数赋值,而且此默认参数只能在最后,调用时可不传递任何参数(若只有默认参数的情况下)
可变参数:一个函数可能需要可个可变数目的参数。在php中,提供了三个函数用于检索函数中所传递的参数。func_get_args()返回一个提供提供给函数的所有参数的数组;func_num_args()返回提供给函数的参数数目;func_get_arg()返回一个来自参数的特定参数。具体如下:
$array = func_get_args();
$count = func_num_args();
$value = func_get_arg();
遗漏参数:当调用函数时,可以传递任意个参数给函数。当函数必要的参数没有i被传递时,此参数值是空,并且PHP会为每个遗漏的参数发出警告
可变函数:使用可变变量,可以基于变量的值调用函数
匿名函数:又叫闭包函数,允许临时建立一个没有指定名称的函数,最经常用作回调函数参数的值。需要注意的是,在匿名函数内的变量的用法不同于全局变量,在匿名函数内的变量是一个闭包变量,另外,被调用闭包的作用域不必是相同的。
⑥ php如何传递类参数
PHP类中,可能有多个属性参数。当使用new创建一个对象的时候,可能需要完成初始化操作,需要从外边传递参数进来。下面演示具体过程:
?php
class Test {
//定义私有变量name ,age
private $name, $age;
//构造函数,初始化的时候最先执行
public function __construct($name, $age) {
$this-
name = $name;
$this->age = $age;
}
public function showMsg() {
return "大家好,我叫".$this->name.";今年".$this->age."岁了!";
}
}
//定义参数
$name="网络知道";
$age=10;
//初始化类的时候传递参数
$te=new Test($name, $age);
echo $te->showMsg();
//输出结果:大家好,我叫网络知道;今年10岁了!
?>
⑦ php能把函数名作为参数传递吗
可以。方法主要介绍2种:
1.使用函数call_user_func()或者 call_user_func_array()
<?php
function foobar($arg, $arg2) {
echo __FUNCTION__, " got $arg and $arg2\n";
}
class foo {
function bar($arg, $arg2) {
echo __METHOD__, " got $arg and $arg2\n";
}
}
// Call the foobar() function with 2 arguments
call_user_func_array("foobar", array("one", "two"));
// Call the $foo->bar() method with 2 arguments
$foo = new foo;
call_user_func_array(array($foo, "bar"), array("three", "four"));
2.php本身是支持可变函数的,如同javascript一样:
例一:
function foo($function) {
$function(" World");
}
function bar($params) {
echo "Hello".$params;
}
$variable = 'bar';
foo($variable);
例二:
<?php
class Foo
{
function Variable()
{
$name = 'Bar';
$this->$name(); // This calls the Bar() method
}
function Bar()
{
echo "This is Bar";
}
}
$foo = new Foo();
$funcname = "Variable";
$foo->$funcname(); // This calls $foo->Variable()
?>
⑧ PHP 类之间传递参数
1. 用继承,B继承A,其中A的mm方法里面的参数k作为方法的返回值,这样就可以给到A去使用了。
classBextendsA{
publicfunctiontt(){$k=$this->mm();}
}
2.在A类里面实例化B类。
classA{
publicfunctiontt(){
$class=newB();
$k=$class->mm();
}
}
两个方法的前提条件都是需要mm方法的k变量作为返回值,然后在A类调用的时候就可以得到这参数了。
3.将k参数储存到A类的属性中。
步骤大致和2方法差不多,也是要在tt方法里面实例化B类,但是B类的mm方法改为:
publicfunctionmm()
{$this->k=$k;}
这样就不用k为返回值了,然后在A类中这样:
classA{
publicfunctiontt(){
$class=newB();
$class->mm();
$k=$class->k;
}
}
不保证代码的完全正确,但是思路是对的。