PHP函数能返回很多变量吗?
一个PHP函数在没有数组的情况下能返回很多变量吗 我想这样:PHP函数能返回很多变量吗?,php,Php,一个PHP函数在没有数组的情况下能返回很多变量吗 我想这样: <?php public function a() { $a = "a"; $b = "b"; $c = "c"; } echo a()->a; echo a()->b; echo a()->c; ?> 如何访问$a、$b、$c变量?如果希望以这种方式访问这些变量(而不使用数组),最好使用类: class Name{ var $a = "a"; var $b
<?php
public function a()
{
$a = "a";
$b = "b";
$c = "c";
}
echo a()->a;
echo a()->b;
echo a()->c;
?>
如何访问$a、$b、$c变量?如果希望以这种方式访问这些变量(而不使用数组),最好使用类:
class Name{
var $a = "a";
var $b = "b";
}
$obj = new Name();
echo $obj->a;
您可以使用关联数组而不是数组,并将其强制转换为对象,这允许您使用
->
对象语法访问元素:
function a()
{
return (object) array(
'a' => "a",
'b' => "b",
'c' => "c");
}
echo a()->a; // be aware that you are calling a() three times here
echo a()->b;
echo a()->c;
您可以构建一个类并返回一个对象。查看一些可能有用的内容。创建一个包含3个变量的类,并返回该类的实例。例如:
<?php
class A {
public $a;
public $b;
public $c;
public function __construct($a, $b, $c) {
$this->a = $a;
$this->b = $b;
$this->c = $c;
}
}
function a() {
return new A("a", "b", "c");
}
echo a()->a;
echo a()->b;
echo a()->c;
?>
是的,当返回变量必须是一个数组,或者它应该是一个长字符串,多个值之间用“,|#”等分隔符分隔时,这是可能的 如果它构建为一个数组,我们可以使用PHP中可用的var_dump函数来接收它 请参阅下面的代码
变量转储($数组);
:
函数不能返回多个值,但可以通过返回数组获得类似的结果
<?php
function small_numbers()
{
return array (0, 1, 2);
}
list ($zero, $one, $two) = small_numbers();
此代码是错误的,您应该这样声明和分配变量:var$a=“a”
,或者最好使用显式可见性关键字:public$a='a'
,protected$a='a'
或private$a='a'
是的,我知道。。。我这样写是因为它在PHP4和PHP5上工作。这真的很愚蠢,但是有数以百万计的PHP4服务器(PHP4不支持访问修饰符),管理员也懒得升级:仍在使用PHP4的DAnyone需要拍摄。返回需要解析的字符串将非常难看。
$a = a();
echo $a->a;
echo $a->b;
echo $a->c;
<?php
function small_numbers()
{
return array (0, 1, 2);
}
list ($zero, $one, $two) = small_numbers();