如何获得这个PHP脚本的输出?

如何获得这个PHP脚本的输出?,php,Php,我是编程和PHP学习二维数组的新手 当我运行下面的代码时,它只会给我一个空白页。当我在函数调用前面放置一个echo时,像这样echo usort($a,'mysort1')页面显示了1(我不知道为什么) 我真正想看到的是数组排序后的输出。 执行var\u转储($a)不是我想要的。如何显示函数的结果 怎么做?如果你能帮忙,谢谢你 <?php $a = array ( array ('key1' => 940, 'key2' => 'blah'), array ('key1' =

我是编程和PHP学习二维数组的新手

当我运行下面的代码时,它只会给我一个空白页。当我在函数调用前面放置一个echo时,像这样
echo usort($a,'mysort1')页面显示了1(我不知道为什么)

我真正想看到的是数组排序后的输出。

执行
var\u转储($a)不是我想要的。如何显示函数的结果

怎么做?如果你能帮忙,谢谢你

<?php

$a = array (
array ('key1' => 940, 'key2' => 'blah'),
array ('key1' => 23, 'key2' => 'this'),
array ('key1' => 894, 'key2' => 'that')
);


function mysort1($x, $x) {
     return ($x['key1'] > $y['key']);

}

usort($a, 'mysort1'); 


?> 

将此作为最后一行。。。var_dump($a);这是一种快速查看数组中的内容的方法。

将此作为最后一行。。。var_dump($a);这是查看阵列中内容的快速方法。

添加以下内容:

print_r($a);
在你的运动之后

如果希望使用HTML很好地输出数据,可以使用foreach循环,如下所示:

echo "<ul>";
foreach ($a as $key => $value)
{
    echo "<li>key: ", $key, " value: ", $value, "</li>";
}
echo "</ul>";
echo“
    ”; foreach($a作为$key=>$value) { 回显“
  • 键:”、$key、“值:”、$value“
  • ”; } 回声“
”;
或者类似的桌子,如果你喜欢的话

usort实际上对传递给它的数组进行排序。换句话说,它不返回已排序的数组,而是在传递它的同一数组上执行排序,因为它是通过引用传递的。如果您看这里:您将看到参数前面有一个符号AND。usort的返回值表示成功或失败。同样,您可以在手册中看到这一点。

添加以下内容:

print_r($a);
在你的运动之后

如果希望使用HTML很好地输出数据,可以使用foreach循环,如下所示:

echo "<ul>";
foreach ($a as $key => $value)
{
    echo "<li>key: ", $key, " value: ", $value, "</li>";
}
echo "</ul>";
echo“
    ”; foreach($a作为$key=>$value) { 回显“
  • 键:”、$key、“值:”、$value“
  • ”; } 回声“
”;
或者类似的桌子,如果你喜欢的话


usort实际上对传递给它的数组进行排序。换句话说,它不返回已排序的数组,而是在传递它的同一数组上执行排序,因为它是通过引用传递的。如果您看这里:您将看到参数前面有一个符号AND。usort的返回值表示成功或失败。同样,您可以在手册中看到这一点。

对于初学者,我认为您在比较功能中有两个输入错误:

                     //should be $y not $x
function mysort1($x, $y) {
     return ($x['key1'] > $y['key1']);  // Should be $y['key1']
}
接下来,usort对数组进行排序,成功时返回TRUE,否则返回FALSE,这就是为什么在回显其返回值时会看到1

尝试:


显示排序的数组。

对于初学者,我认为您的比较函数中有两个输入错误:

                     //should be $y not $x
function mysort1($x, $y) {
     return ($x['key1'] > $y['key1']);  // Should be $y['key1']
}
接下来,usort对数组进行排序,成功时返回TRUE,否则返回FALSE,这就是为什么在回显其返回值时会看到1

尝试:


显示已排序的数组。

在usort行后添加

var_dump( $a );

您的页面仅打印“1”,因为它表示usort已成功对数组进行排序。

在usort行之后添加

var_dump( $a );

您的页面仅打印“1”,因为它表示usort已成功对数组进行排序。

您打印的是的返回值,而不是数组的内容。请尝试在调用usort后进行快照。

您正在打印的是的返回值,而不是数组的内容。请尝试在调用usort后试一试。

谢谢,但我想看到的是函数的结果。你知道怎么做吗?var_dump()会从数组中给出详细的输出。。。如果您想单独查看每个数组中的每个值,可以使用两个for循环并打印每个键和值。除此之外,usort函数只返回1,这意味着函数已完成并返回true。谢谢,但我想看到的是函数的结果。你知道怎么做吗?var_dump()会从数组中给出详细的输出。。。如果您想单独查看每个数组中的每个值,可以使用两个for循环并打印每个键和值。除此之外,usort函数只返回1,这意味着函数已完成并返回true。