PHP:如何从函数返回多维数组



我的代码类似于;

function myFunc() {
    $myArry = array();
    $myArry[1]['first'] = "First";
    $myArry[1]['second'] = "Second";
    $myArry[2]['first'] = "First";
    $myArry[2]['second'] = "Second";
    $myArry[3]['first'] = "First";
    $myArry[3]['second'] = "Second";
    echo "before return: ".count($myArry);
    return $myArry;
}
// main code
$returnedArry = array(myFunc());
echo "after return: ".count($returnedArry);

输出:

before return: 3
after return: 1

这里发生了什么,有人能解释一下吗?还有,我该怎么办?

谢谢。

$returnedArry = array(myFunc());

这行代码正在将您的数组放入另一个数组中。由于它是该数组中唯一的元素,因此计数为1。你真正想要的是:

$returnedArry = myFunc();

您将返回的$myArry封装在一个新数组中,因此它是$returnedArry中的单个条目。

    $returnedArray = array(
           array(
              0 => array(
                      'first' => "First",
                      'second' => "Second"
                   ),
              1 => ...
              2 => ...
          )
    )

要产生您想要的结果:

    $returnedArray = myFunc();

将来,您可以使用print_rvar_dump来帮助显示这些数组中的内容。

相关内容

  • 没有找到相关文章

最新更新