php - 借助 sort() 函数对有序整数数组进行排序的 PHP 类
问题描述
我为上述问题写下了以下内容
<?php
class sortClass{
public function __construct(array $arrayPassed){
return sort($arrayPassed);
}
}
$newarray=array(11,-2,4,35,0,8,-9);
$sorted = new sortClass($newarray);
print_r($sorted);
?>
并且输出是 'sortClass Object()' ,我想要一些帮助来理解为什么它不会打印出排序的数组,当我们实例化一个类时 - 构造函数将自动执行并返回它返回的内容对吗?那么为什么不打印 $sorted object 打印构造函数中返回的内容呢?
解决方案
你不需要一个包装器class
来排序,你可以直接运行sort
函数,你的代码的问题是,返回__constructor
.
我建议你直接这样运行它:
<?php
$newarray = array(11,-2,4,35,0,8,-9);
sort($newarray);
print_r($newarray);
?>
或者如果您仍然需要 OOP 版本,请使用这个:
<?php
class sortClass{
private $arrayPassed = [];
public function __construct(array $arrayPassed){
$this->arrayPassed = $arrayPassed;
}
public function sort() {
sort($this->arrayPassed);
return $this->arrayPassed;
}
}
$newarray = array(11,-2,4,35,0,8,-9);
$sortClass = new sortClass($newarray);
print_r($sortClass->sort());
推荐阅读
- python - 使用 Python 确定谁可以从 csv 中查看/处理中断并将正确的名称导入具有适当字段的新 csv
- r - !非法计量单位(插入点) PDF 针织错误
- sql-server - Access 2010 VBA for SQL Server 2017 连接字符串
- python - numpy.hstack() 描述
- ruby - 在 mac high sierra 上升级 ruby 时遇到问题
- python - 如何在 Python 中创建一个类范围的可操作变量?
- javascript - 如何清空移位的堆栈?
- python - 如何将连续变量转换为分类变量?
- swift - 将多张图片作为附件发送
- ffmpeg - 如何使用 stunnel 配置 nginx 以接受不同 FB Live Streams 的参数或使用 FFMPEG 的 rtmps