PHP:如何从函数返回多维数组
我的代码类似于PHP:如何从函数返回多维数组,php,arrays,multidimensional-array,return-value,Php,Arrays,Multidimensional Array,Return Value,我的代码类似于 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]['seco
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\u r
或var\u dump
来帮助您显示这些数组中的内容。对不起,请忽略此帖子,我已要求一个Mod关闭它,我的代码中有一个输入错误,因此此问题完全无效。感谢您的输入,这解释了为什么这不起作用。虽然我实际上在代码中引用了一个不同的函数,所以这个问题完全没有意义。很抱歉给您带来不便@不,然后你又做错了什么。这是返回数组的正确方法。感谢您的输入,这解释了为什么它不起作用。虽然我实际上在代码中引用了一个不同的函数,所以这个问题完全没有意义。很抱歉给您带来不便!