一个函数如何在php中返回数组和类

时间:2016-06-21 17:49:43

标签: php

示例1:

<?php
$class=new class_test();
$users=$class->db('users')->where(['id','>','1'],['id','<','10']);
?>

示例2:

<?php
class test{
    function text($text){

    }
    function remove($text){

    }
}
$test=new test();
$text1=$test->text('my text 1')->remove('my')->remove('text'); // 1
$text2=$test->text('my other text')->remove('other')->remove('text');// my
?>

我希望函数返回一个数组,也是类,但不知道如何使它工作! 请帮我改进我的代码...

2 个答案:

答案 0 :(得分:1)

每个函数当时只能返回一个值,因此解决此问题的常用方法是返回array(或object,但返回数组显然更简单):

<?php

function foo() {
   $cls = new class_test();
   return array(
             'class' => $cls,
             'users' => $cls->db('users')->where(['id','>','1'],['id','<','10']);
}

PS:您使用的班级名称 - &gt; class_test并未真正遵循通用标准。我建议坚持主流:http://www.php-fig.org/psr/

答案 1 :(得分:0)

对你的代码来说最好的事情是返回对象数组,如果where的结果是很多行,那么你将拥有包含许多对象的数组,但是如果where的结果是一行那么你将拥有只有一个对象的数组。

创建另一个名为&#34; Find&#34;所以find只返回一个对象,&#34; where&#34;将始终返回数组