【发布时间】:2019-09-20 01:54:45
【问题描述】:
我尝试应用一种简单的排序技术,例如插入方法,但我遇到了这个烦人的错误。 我正在使用 PHP 7。
<br />
<b> Notice: Array to string conversion in <b>[...][...]</b> on line <b>21</b><br /> Array
第 21 行是我称之为 echo Interschimbare 的地方
代码如下:
<?php
function Interschimbare(array $Vector) : array{
$N = count($Vector);
for($i = 0; $i < $N - 1; $i++)
{
for($j = $i + 1; $j < $N; $j++)
{
if($Vector[$i] > $Vector[$j])
{
$aux = $Vector[$i];
$Vector[$i] = $Vector[$j];
$Vector[$j] = $aux;
}
}
}
return $Vector;
}
$test = [3, 0, 2, 5, -1, 4, 1];
//print_r(Interschimbare($test)); // with this line works just fine
echo Interschimbare($test);
echo 不工作,但print_r 工作正常
【问题讨论】:
-
echo 用于打印字符串,而不是数组,并且您的数组不是字符串。
-
您可以使用 implode 来回显数组。 3v4l.org/RdVUC
-
ideone.com/tpY9oq(请参阅 stderr 的警告,而且它完全独立于排序部分)。
标签: php sorting insertion-sort